/* Shared CJK wrapping: full-width panel titles, balanced headings, readable paragraphs. */
.selection-panel .panel-heading{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px 10px;align-items:center;margin-bottom:20px}
.selection-panel .panel-heading>div{display:contents}
.selection-panel .panel-heading .panel-illustration{grid-column:1;grid-row:1;width:42px;height:42px;margin:0}
.selection-panel .panel-heading .panel-type{grid-column:2;grid-row:1;margin:0;font-size:12px;line-height:1.5}
.selection-panel .panel-heading #panel-title{grid-column:1/-1;grid-row:2;width:100%;min-width:0;max-width:none;margin:0;font-size:clamp(23px,2vw,28px);line-height:1.45;letter-spacing:-.02em;text-wrap:balance;word-break:normal;overflow-wrap:break-word;line-break:strict}
:is(h1,h2,h3,h4,.card-subtitle,.hero-jack-caption span,.coach-bubble .map-status){text-wrap:balance;word-break:normal;line-break:strict}
:is(.selection-panel p,.full-card .core,.full-card .points,.course-options p,.jack-inline-copy p,.jack-hero-body,.coach-tool-description,.coach-bubble small){text-wrap:pretty;word-break:normal;overflow-wrap:break-word;line-break:strict}
.selection-panel .panel-heading,.selection-panel .panel-links,.panel-links .button,.direction-choices button{min-width:0}
.selection-panel .panel-links .button{white-space:normal;text-wrap:balance;line-height:1.6}
.coach-bubble{min-width:0}
.coach-bubble .map-status{max-width:40em;text-align:left}
.coach-bubble small{display:block;line-height:1.7;max-width:54em}
@media(max-width:650px){.selection-panel .panel-heading #panel-title{font-size:25px}.selection-panel .panel-heading{margin-bottom:18px;gap:10px}.coach-bubble .map-status{line-height:1.6}.coach-bubble small{line-height:1.75}}
@media(prefers-reduced-motion:no-preference){.coach-bubble .map-status,.coach-bubble small{transition:color .15s}}
