/* cards-5: retain the original two-column, image-above-title cards. */
.action-grid{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
.action-card.training-card{display:flex;flex-direction:column;gap:0;padding:0;border-radius:8px;background:#181a1c;border:1px solid #2a2d30}
.training-card .picture,.training-card .card-placeholder{width:100%;height:auto;aspect-ratio:3/2;border-radius:0;background:#101214;overflow:hidden;align-self:start}
.training-card .picture img{width:100%;height:100%;object-fit:contain!important}
.training-card .card-placeholder{display:grid;place-items:center;color:#767e7b}
.training-card .card-copy,.training-card.text-action .card-copy{padding:10px 10px 12px;min-height:0;width:100%;gap:0;flex:0 0 auto}
.training-card .card-heading{display:flex;align-items:flex-start;gap:8px;justify-content:space-between}
.training-card .card-heading>svg{display:none}
.training-card .card-copy h3,.training-card.text-action h3{font-size:16px;line-height:1.4;min-height:0;font-weight:600;letter-spacing:0;overflow-wrap:anywhere}
.training-card .card-copy .card-target{margin:5px 0 0;color:#a4aca9;font-size:11px;line-height:1.55}
.training-card .card-target i{font-style:normal;margin:0 5px;color:#606965}
.training-tags,.profile-labels{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.training-tags span,.profile-labels span{font-size:11px;line-height:1.4;padding:4px 7px;border-radius:5px;color:#b9c7ba;background:#26302a;white-space:normal}
.training-tags span:first-child,.profile-labels span:first-child{background:#25292c;color:#b1b7b8}
.training-card .card-copy .card-dose{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:10px 0 0;line-height:1.55;font-size:11px;color:#969e9b}
.card-dose>span{font-size:10px;color:#9ba39f}
.card-dose b{font-weight:400}.card-dose.has-dose b{font-weight:600;color:#d3dbce;font-variant-numeric:tabular-nums}
.training-card .card-copy .card-summary{font-size:12px;line-height:1.7;margin:8px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#a4aca9}
.training-tags{gap:4px;margin-top:8px}.training-tags span{font-size:10px;padding:3px 5px}
/* Tag explanations are one quiet expandable surface, without divider rules or links. */
.training-tags:empty{display:none}
.card-dose em{font-style:normal;font-weight:400;color:#a4aca9}
.training-profile{margin:12px 0 28px;padding:12px 14px;border-radius:12px;background:#181a1c;border:0}
.training-profile .profile-labels{margin:0;gap:5px}
.training-tags span:first-child,.profile-labels span:first-child{background:#26302a;color:#b9c7ba}
.profile-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:32px;text-align:left;padding:0;border:0;text-decoration:none}
.profile-toggle-hint{display:flex;align-items:center;gap:5px;font-size:11px;color:#8f9993;white-space:nowrap}
.profile-toggle-hint svg{transform:rotate(90deg)}.profile-toggle[aria-expanded=true] .profile-toggle-hint svg{transform:rotate(-90deg)}
.profile-content{padding-top:14px;border:0}
.profile-arrangement+.profile-arrangement{margin-top:14px;border:0}
.profile-course{font-size:12px;line-height:1.6;color:#9eaaa1;margin:0 0 4px}
.profile-dose{font-size:13px;line-height:1.65;color:#d3dbce;margin:0}
.profile-condition,.profile-joint-note{font-size:12px;line-height:1.65;color:#adb7b0;margin:5px 0 0}
.profile-joint-note{margin:0 0 12px}.profile-joint-note:last-child{margin-bottom:0}
.profile-purpose{display:inline-block;margin-left:7px;color:#c8d4c2;font-size:11px}
.loading-state{padding:20px 0 28px;min-height:380px;animation:loading-appear 180ms ease both}
.loading-caption{display:flex;align-items:center;gap:10px;min-height:32px;margin-bottom:20px;color:#b8c2b8;font-size:14px;line-height:1.6}
.loading-ring{width:16px;height:16px;flex:none;border:2px solid #343d35;border-top-color:#c5d3b9;border-radius:50%;animation:loading-turn 1s linear infinite}
.skeleton{background:#24282a;border-radius:7px;animation:loading-breathe 1.8s ease-in-out infinite alternate}
.loading-state:not(.loading-detail) .loading-placeholders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.skeleton-row{display:flex;flex-direction:column;padding:0;border:1px solid #282c2e;border-radius:15px;overflow:hidden;background:#171a1b}.skeleton-row>div:last-child{padding:8px 11px 12px}
.skeleton-thumb{height:auto;aspect-ratio:3/2;border-radius:0}.skeleton-line{height:16px;margin:8px 0 14px;width:82%}.skeleton-line.short{width:54%;height:12px}.skeleton-tags{height:26px;width:92%;margin-top:22px}.skeleton-hero{height:270px;border-radius:14px}.skeleton-panel{height:130px;margin-top:25px;border-radius:14px}
.loading-retry{min-height:44px;padding:10px 18px;border-radius:10px;background:#d1dec6;color:#152019;font-size:14px}
.boot-shell .loading-state{padding-top:12px}.boot-heading{font-size:28px;line-height:1.3;font-weight:600;margin:12px 0 20px}
@keyframes loading-turn{to{transform:rotate(360deg)}}@keyframes loading-breathe{from{opacity:.45}to{opacity:.8}}@keyframes loading-appear{from{opacity:.4}to{opacity:1}}
@media(max-width:360px){.action-grid,.loading-state:not(.loading-detail) .loading-placeholders{gap:12px 9px}.training-card .card-copy,.training-card.text-action .card-copy{padding:10px 9px}.training-card .card-copy h3,.training-card.text-action h3{font-size:15px;min-height:0}}
@media(prefers-reduced-motion:reduce){.loading-state,.loading-ring,.skeleton{animation:none!important}.skeleton{opacity:.65}}

/* Compact listing: divider belongs here, never to the detail explanation. */
.training-card .card-target{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-height:0}
.training-card .card-target span{flex:none;white-space:normal}
.training-card .card-copy .card-dose{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:10px;row-gap:0;border-top:1px solid #33383a;padding-top:9px;margin-top:10px;font-size:12px;line-height:1.5}
.training-card .card-dose>span{font-size:11px;line-height:1.5}
.training-card .card-dose>.card-dose-options{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:12px}
.card-dose-options b{display:block;overflow-wrap:anywhere}
.training-tags span{flex:0 0 auto;max-width:100%;border-radius:999px;padding:3px 7px}

.training-card .card-dose.no-dose b{font-weight:400;color:#a4aca9}

/* Brief training guidance; paired cards share width and height. */
.training-explanation{margin:20px 0 28px}
.training-explanation-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
.training-explanation-card{min-width:0;background:#1b1e20;border-radius:12px;padding:16px;border:0}
.training-explanation-card:only-child{grid-column:1 / -1}
.training-explanation-card h2{font-size:14px;font-weight:600;line-height:1.5;color:#bdc9bb;margin:0 0 8px}
.training-explanation-card p{font-size:14px;line-height:1.65;color:#b8bcc1;margin:0;overflow-wrap:anywhere}
.training-explanation-card .training-dose-value{font-size:15px;font-weight:600;color:#e2e7df}
.training-explanation-card .training-dose-description{font-size:13px;margin-top:6px;color:#a9b1ac}
.training-dose-card:only-child{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:baseline}
.training-dose-card:only-child h2{margin:0}
@media(max-width:520px){.training-explanation-cards{grid-template-columns:1fr}.training-explanation-card{padding:14px}.training-dose-card:only-child{grid-template-columns:72px minmax(0,1fr);gap:10px}}

/* Secondary action stays beside its heading, without a separate empty row. */
.compact-supplement .supplement-heading{display:flex;align-items:flex-start;gap:10px;min-width:0}
.compact-supplement .supplement-heading h3{flex:1;min-width:0;font-size:14px;font-weight:550;line-height:1.6;color:#e3e5e2;margin:9px 0;overflow-wrap:anywhere}
.compact-supplement .supplement-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:40px;min-width:54px;padding:6px 0 6px 8px;color:#a4b1a0;font-size:12px;line-height:1.5;background:transparent;border:0;border-radius:6px;text-decoration:none}
.compact-supplement .supplement-toggle svg{transition:transform 160ms ease}
.compact-supplement.is-open .supplement-toggle svg{transform:rotate(180deg)}
.compact-supplement .supplement-content[hidden]{display:none}
.compact-supplement .supplement-content:not([hidden]){padding:8px 0}
.compact-supplement .supplement-content .teaching-version>section:first-child{margin-top:0}
@media(prefers-reduced-motion:reduce){.compact-supplement .supplement-toggle svg{transition:none}}

/* cards-8: one compact original-video control across detail and supplements. */
.watch-options{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:8px 0;}
.watch-action{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0;}
.watch-options .watch-segment{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;max-width:100%;min-height:44px;gap:6px;margin:0;padding:9px 12px;border:0;border-radius:10px;background:#26312b;color:#bac7b7;text-decoration:none;box-sizing:border-box;}
.watch-options .watch-segment b{font-size:13px;font-weight:600;line-height:20px;}
.watch-options .watch-segment svg{flex:none;}
.watch-time{color:#90999e;font-size:12px;line-height:20px;white-space:nowrap;font-variant-numeric:tabular-nums;}
.watch-primary{margin:12px 0 0;}
.watch-primary>.watch-help{margin-left:auto;}
.compact-supplement>.watch-options{margin:6px 0 0;}
.lesson-dose>.watch-options{border:0;padding-top:0;margin-top:12px;}
.lesson-reference .watch-options{margin:0;}
@media(hover:hover){.watch-options .watch-segment:hover{background:#344239;}}
.watch-options .watch-segment:active{background:#3b4940;}

/* cards-9: scan-friendly listing; full teaching stays in the detail. */
.training-card .card-heading{min-width:0;}
.training-card .card-copy h3,.training-card.text-action h3{display:block;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;}
.training-card .card-copy .card-dose{column-gap:6px;}
.training-card .card-dose-options b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;}
