/* Keep the full painting visible at every size. */
.path-progress{border:2px solid var(--line);border-radius:18px;background:var(--pale);padding:20px;margin-bottom:24px}
.path-progress strong{display:block;font-size:1.1rem}.path-progress p{margin:8px 0;line-height:1.5}
.path-progress .keep-tab{font-size:.85rem}.path-progress .actions{margin-top:12px}
.pending-stage{background:transparent;border-style:dashed}.pending-stage h2{font-size:1.3rem}
.pending-stage p{font-size:1rem;line-height:1.5}.partial-print-notice{display:none}
.concept img,.guide-hero img,.coach img{object-fit:contain;height:auto;max-height:none;aspect-ratio:auto}
.concept.selected{border-color:var(--blue);background:var(--pale)}
.concept:hover:not(.selected){border-color:var(--line)}
.guide-hero{grid-template-columns:.8fr 1.2fr;margin-top:16px}
.guide-hero h1{font-size:clamp(1.8rem,4vw,2.8rem)}
.guide-hero .intro{font-size:1.05rem;margin-bottom:14px}
.loading-reference{display:block;width:min(100%,260px);max-height:380px;object-fit:contain;margin:18px 0}
.prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:32px 0}
.prep-grid h2{font-size:1.3rem}.prep-grid li{margin:8px 0;line-height:1.5}
.lesson{padding:24px;border:1px solid var(--line);break-inside:avoid}
.stage-heading h2{font-size:1.8rem;line-height:1.15;margin:6px 0}
.stage-heading p{margin:4px 0 18px;color:#45636b;font-size:1rem}
.lesson-top{grid-template-columns:1.15fr 1fr;gap:22px;align-items:start}
.stage-canvas{margin:0;text-align:center}
.stage-canvas>img{display:block;width:100%;height:440px;object-fit:contain;background:#f5f7f5;border-radius:12px}
.stage-canvas figcaption{font-size:.75rem;color:#45636b;margin:6px 0}
.lesson-palette{padding:16px}
.lesson-palette h3{font-size:1.05rem;margin:0 0 4px}
.mix-note{font-size:.72rem;margin:0 0 8px;color:#45636b;line-height:1.3}
.paint-mix{grid-template-columns:48px 1fr;gap:10px;margin:10px 0}
.paint-chip{width:48px;height:32px;object-fit:contain}
.paint-mix strong{font-size:.9rem}.paint-mix small{font-size:.8rem;line-height:1.35;color:#34515a}
.detail-view{margin:20px 0 0;border:1px solid #b4d1d5;border-radius:14px;padding:18px;background:#f5f9f8;break-inside:avoid}
.detail-view figcaption{margin:0 0 14px;line-height:1.35}.detail-view figcaption strong{display:block;font-size:1.05rem}.detail-view figcaption span{display:block;font-size:.78rem;color:#45636b;margin-top:4px}
.detail-layout{display:grid;grid-template-columns:1fr;align-items:center;gap:22px}.has-callouts .detail-layout{grid-template-columns:1.15fr 1fr}
.detail-view svg{display:block;width:100%;height:300px;background:white;border-radius:8px}
.detail-tips{list-style:none;margin:0;padding:0;display:grid;gap:22px}.detail-tips li{display:flex;align-items:flex-start;gap:12px;font-size:1rem;line-height:1.45}
.detail-letter{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#075a72;color:white;font-size:.85rem;font-weight:800}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brush-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 0;font-size:.84rem;line-height:1.4;border-bottom:1px solid var(--line)}
.lesson-actions{counter-reset:action;display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;padding:0;list-style:none;margin:18px 0}
.lesson-actions li{counter-increment:action;position:relative;padding-left:34px}
.lesson-actions li:before{content:counter(action);position:absolute;left:0;top:0;width:24px;height:24px;border:1px solid var(--blue);border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:850;color:var(--blue)}
.lesson-actions strong{font-size:1rem;line-height:1.25}.lesson-actions p{font-size:.94rem;line-height:1.45;margin:5px 0 0}
.lesson-tip,.lesson-stop{font-size:.9rem;line-height:1.45;text-align:left;font-weight:500;padding:12px;margin:12px 0 0;border-radius:10px}
.lesson-tip{border:1px solid #83bac4;background:#edf8fa}.lesson-stop{border:1px solid #d7b67b;background:#fff8e9}
.preserve{font-size:.8rem;color:#34515a;line-height:1.4;margin:10px 0 0}
.large-text .lesson-actions p,.large-text .lesson-tip,.large-text .lesson-stop,.large-text .detail-tips li{font-size:1.12rem}
@media(max-width:700px){.guide-hero,.prep-grid,.lesson-top,.brush-strip,.has-callouts .detail-layout{grid-template-columns:1fr}.lesson-actions{grid-template-columns:1fr}.lesson{padding:16px}.stage-canvas>img{height:auto;max-height:520px}.detail-view{padding:12px}.detail-view svg{height:260px}.detail-tips{gap:16px}.lesson-palette{padding:14px}}
@page{size:letter portrait;margin:12mm}
@media print{
  .path-progress,.pending-stage{display:none!important}.partial-print-notice{display:block;font-weight:700}
  :root{font-size:12pt}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html,body{margin:0;background:white;color:#15333c;min-height:0}
  .screen{animation:none}.topbar,.actions,.nav,.guide-section-title{display:none!important}
  main{width:100%;padding:0;margin:0}.guide-cover{break-after:page}
  .guide-hero{display:grid;grid-template-columns:44% 1fr;gap:18pt;align-items:start}
  .guide-hero img{width:100%;height:108mm;object-fit:contain;border-radius:0;box-shadow:none}
  .guide-hero h1{font-size:24pt;line-height:1.1}.guide-hero .intro{font-size:12pt;line-height:1.4}
  .badge{font-size:10pt;padding:4pt 6pt}.prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:20pt;margin-top:20pt}
  .prep-grid h2{font-size:14pt}.prep-grid li{font-size:11.5pt;line-height:1.4}
  .guide-preview{break-before:auto;border:0;margin:0;padding:0}.lesson-list{display:block}
  .lesson{border:0;padding:0;margin:0;box-shadow:none;border-radius:0;break-before:page;break-inside:avoid}
  .lesson:first-child{break-before:auto}.stage-heading h2{font-size:19pt}.stage-heading p{font-size:11pt;margin-bottom:10pt}
  .lesson-top{display:grid;grid-template-columns:1.1fr 1fr;gap:14pt}
  .stage-canvas>img{height:65mm;width:100%;object-fit:contain;background:white;border-radius:0}
  .stage-canvas figcaption{font-size:9pt}.lesson-palette{padding:6pt;background:white;border:1px solid #c1d6da}
  .lesson-palette h3{font-size:12pt}.mix-note{font-size:8.5pt}.paint-mix{grid-template-columns:35pt 1fr;margin:4pt 0;gap:7pt}
  .paint-chip{width:35pt;height:24pt}.paint-mix strong{font-size:10.5pt}.paint-mix small{font-size:9pt;line-height:1.15}
  .detail-view{margin-top:6pt;padding:6pt;border-radius:4pt}.detail-view svg{height:35mm}.detail-view figcaption{margin-bottom:4pt}.detail-view figcaption strong{font-size:10.5pt}.detail-view figcaption span{font-size:8.5pt;margin-top:2pt}
  .has-callouts .detail-layout{grid-template-columns:1.15fr 1fr;gap:10pt}.detail-tips{gap:6pt}.detail-tips li,.large-text .detail-tips li{font-size:10pt;line-height:1.25;gap:6pt}.detail-letter{width:16pt;height:16pt;font-size:9pt}
  .brush-strip{display:grid;grid-template-columns:1fr 1fr;font-size:10pt;gap:10pt;padding:6pt 0}
  .lesson-actions{display:grid;grid-template-columns:1fr 1fr;gap:6pt 14pt;margin:8pt 0}
  .lesson-actions li{padding-left:23pt}.lesson-actions li:before{width:17pt;height:17pt;font-size:9pt}
  .lesson-actions strong{font-size:11.5pt}.lesson-actions p,.large-text .lesson-actions p{font-size:11pt;line-height:1.35;margin-top:3pt}
  .lesson-tip,.lesson-stop,.large-text .lesson-tip,.large-text .lesson-stop{font-size:10.5pt;line-height:1.35;padding:5pt;margin-top:6pt}
  .preserve{font-size:9pt;line-height:1.3;margin-top:5pt}
}
