/* 어린이 가이드 — 실사풍 표지, 단원별 읽기, 명확한 글자 위계. SSOT 11·23절. */
.kids-guide {
	max-inline-size: 62rem;
	container: kids-reading / inline-size;
	gap: clamp(2.5rem, 5vw, 4rem);
	padding-block: var(--wa-space-l) var(--wa-space-2xl);
	color: var(--sonub-ink);
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.kids-guide :is(h1, h2, h3, h4, p, figure) { margin: 0; }
.kids-guide :is(h1, h2, h3, h4) { text-wrap: balance; }
.kids-guide .guide-cover {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.2fr);
	align-items: center;
	gap: clamp(1.5rem, 3vw, 2.75rem);
}
.kids-guide .guide-cover-copy { display: grid; justify-items: start; gap: var(--wa-space-l); min-inline-size: 0; }
.kids-guide .guide-cover .sonub-eyebrow {
	padding: 0.45rem 0.85rem;
	border-radius: var(--wa-border-radius-pill);
	background: var(--wa-color-brand-fill-quiet);
	color: var(--wa-color-brand-on-quiet);
	font-size: var(--wa-font-size-s);
}
.kids-guide .guide-cover h1 {
	font-size: calc(clamp(1.8rem, 3.5vw, 2.65rem) * var(--wa-font-size-scale, 1));
	line-height: 1.25;
	letter-spacing: -0.04em;
	font-weight: 800;
}
.kids-guide .kids-cover-audience { color: var(--sonub-muted); font-size: var(--wa-font-size-s); line-height: 1.65; }
.kids-guide .kids-cover-time { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--sonub-muted); font-size: var(--wa-font-size-s); line-height: 1.6; }
.kids-guide .sonub-button { min-block-size: 3rem; padding-inline: 1.25rem; border-radius: var(--wa-border-radius-l); font-size: var(--wa-font-size-m); }
.kids-guide .kids-story-picture { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--wa-border-radius-xl); }
.kids-guide .guide-cover > .kids-story-picture { box-shadow: var(--wa-shadow-m); }
.kids-guide .kids-welcome-note { display: flex; align-items: flex-start; gap: 0.9rem; padding: 1.15rem 1.5rem; background: var(--wa-color-brand-fill-quiet); border-radius: var(--wa-border-radius-l); font-size: var(--wa-font-size-m); line-height: 1.8; }
.kids-guide .kids-welcome-note > i { margin-block-start: 0.35rem; color: var(--sonub-accent); }
.kids-guide .kids-cur { gap: 2rem; }
.kids-guide .kids-cur-head { display: grid; gap: 0.8rem; padding-block-start: var(--wa-space-m); }
.kids-guide h2 { font-size: calc(1.55rem * var(--wa-font-size-scale, 1)); line-height: 1.4; font-weight: 750; letter-spacing: -0.025em; }
.kids-guide .kids-cur-head > p { max-inline-size: 54ch; line-height: 1.9; color: var(--sonub-muted); }
.kids-guide .kd-map { padding: 1.5rem; border: 1px solid var(--sonub-border); background: var(--sonub-surface); border-radius: var(--wa-border-radius-xl); gap: 1.25rem; scroll-margin-block-start: calc(var(--sonub-header-height, var(--bar-height)) + 4rem); }
.kids-guide .kd-map > figcaption { font-size: var(--wa-font-size-m); color: var(--sonub-ink); }
/* 주차 칸 사이 틈(1.75rem)으로 노선 선(ig-lines.js)이 지나간다 — 칸 바탕이 선을 덮어 선은 틈에만 보인다. */
.kids-guide .kd-map-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.75rem; }
.kids-guide .kd-map-stop { padding: 1rem 0.75rem; border: 0; background: var(--wa-color-surface-lowered); border-radius: var(--wa-border-radius-l); gap: 0.7rem; }
.kids-guide .kd-map-stop > .kd-node-icon { inline-size: 3rem; block-size: 3rem; border: 2px solid var(--kd-line); background: var(--sonub-surface); color: var(--kd-ink); font-size: calc(1.2rem * var(--wa-font-size-scale, 1)); }
.kids-guide .kd-map .ig-line { fill: none; stroke: var(--wa-color-brand-fill-loud); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.kids-guide .kd-map-stop > strong { font-size: var(--wa-font-size-s); line-height: 1.6; }
.kids-guide .kd-week-chip { font-size: var(--wa-font-size-xs); padding: 0.3rem 0.65rem; background: var(--wa-color-brand-fill-quiet); color: var(--wa-color-brand-on-quiet); border: 0; }
.kids-guide .kd-map-lessons { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem; }
.kids-guide .kd-map-lessons a { min-inline-size: 2.75rem; min-block-size: 2.75rem; border: 1px solid var(--sonub-border); background: var(--sonub-surface); color: var(--sonub-ink); font-size: var(--wa-font-size-s); }
.kids-guide .kd-map-lessons a:hover { background: var(--wa-color-brand-fill-loud); color: var(--wa-color-brand-on-loud); border-color: var(--wa-color-brand-fill-loud); }
.kids-guide .kd-note { color: var(--sonub-muted); font-size: var(--wa-font-size-s); line-height: 1.75; }
.kids-guide .kids-support { border: 1px solid var(--sonub-border); border-radius: var(--wa-border-radius-l); background: var(--sonub-surface); }
.kids-guide .kids-support > summary { display: flex; align-items: center; gap: 0.85rem; min-block-size: 4rem; padding: 1rem 1.3rem; cursor: pointer; list-style: none; font-weight: 650; line-height: 1.65; }
.kids-guide .kids-support > summary > i:first-child { color: var(--sonub-accent); }
.kids-guide .kids-support > summary > i:last-child { margin-inline-start: auto; font-size: var(--wa-font-size-xs); }
.kids-guide .kids-support > summary::-webkit-details-marker,
.kids-guide .kids-chapter-summary::-webkit-details-marker { display: none; }
.kids-guide .kids-support[open] > summary > i:last-child,
.kids-guide .kids-chapter[open] .kids-chapter-toggle { rotate: 180deg; }
.kids-guide .kids-support > :not(summary) { padding: 0 1.5rem 1.5rem; }
.kids-guide .kids-duo { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.kids-guide .kids-preparation .kids-duo { padding-block-start: 0.5rem; }
.kids-guide .kids-week { gap: 0.9rem; }
.kids-guide .kids-week-head { flex-wrap: wrap; gap: 0.8rem; border: 0; padding: 1.4rem 0 0.5rem; }
.kids-guide .kids-week-head h3 { font-size: var(--wa-font-size-l); line-height: 1.5; }
.kids-guide .kids-week-head h3 > i { display: none; }
.kids-guide .kids-week-link { font-size: var(--wa-font-size-s); min-block-size: 2.75rem; }
.kids-guide .kids-chapter { min-inline-size: 0; border: 1px solid var(--sonub-border); border-radius: var(--wa-border-radius-xl); background: var(--sonub-surface); scroll-margin-block-start: calc(var(--sonub-header-height, var(--bar-height)) + 4rem); }
.kids-guide .kids-chapter[open] { border-color: var(--wa-color-brand-border-normal); box-shadow: var(--wa-shadow-s); }
/* 닫힌 수업 카드 — 번호·제목·오늘의 목표를 사진 곁에 모아 사진만 보고도, 글만 훑어도 수업을 고를 수 있게 한다.
   빈 위·아래 줄(1fr)이 글 묶음을 사진 높이의 가운데에 둔다. 펼치면 목표·사진은 본문이 크게 보여 주므로 감춘다. */
.kids-guide .kids-chapter > .kids-chapter-summary {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr) minmax(0, 1fr) 1rem;
	grid-template-rows: minmax(0, 1fr) auto auto minmax(0, 1fr);
	grid-template-areas: '. . pic tog' 'num head pic tog' '. goal pic tog' '. . pic tog';
	align-items: center;
	column-gap: 1.25rem;
	row-gap: 0.5rem;
	padding: 1.25rem;
	list-style: none;
	cursor: pointer;
}
.kids-guide .kids-chapter-summary:hover { background: var(--wa-color-brand-fill-quiet); border-radius: var(--wa-border-radius-xl); }
.kids-guide .kids-chapter-number { grid-area: num; display: grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem; border-radius: 50%; background: var(--wa-color-brand-fill-quiet); color: var(--wa-color-brand-on-quiet); font-weight: 750; }
.kids-guide .kids-chapter[open] .kids-chapter-number { background: var(--wa-color-brand-fill-loud); color: var(--wa-color-brand-on-loud); }
.kids-guide .kids-chapter-heading { grid-area: head; min-inline-size: 0; }
.kids-guide .kids-chapter-heading small { display: block; margin-block-end: 0.2rem; font-size: var(--wa-font-size-xs); font-weight: 650; color: var(--sonub-muted); }
.kids-guide .kids-chapter-heading strong { font-size: var(--wa-font-size-l); line-height: 1.5; font-weight: 750; }
.kids-guide .kids-chapter-goal { grid-area: goal; display: flex; align-items: baseline; gap: 0.55rem; min-inline-size: 0; color: var(--sonub-muted); font-size: var(--wa-font-size-m); line-height: 1.75; }
.kids-guide .kids-chapter-goal > i { flex: 0 0 auto; color: var(--sonub-accent); font-size: var(--wa-font-size-s); }
.kids-guide .kids-chapter-summary > .kids-story-picture { grid-area: pic; border-radius: var(--wa-border-radius-l); }
.kids-guide .kids-chapter-toggle { grid-area: tog; color: var(--sonub-muted); font-size: var(--wa-font-size-xs); transition: rotate 160ms ease; }
.kids-guide .kids-chapter[open] > .kids-chapter-summary { grid-template-columns: 2.75rem minmax(0, 1fr) 1rem; grid-template-rows: auto; grid-template-areas: 'num head tog'; }
.kids-guide .kids-chapter[open] .kids-chapter-summary > :is(.kids-story-picture, .kids-chapter-goal) { display: none; }
.kids-guide .kids-lesson { gap: 2rem; border: 0; border-block-start: 1px solid var(--sonub-border); border-radius: 0; box-shadow: none; padding: 1.5rem; background: none; scroll-margin-block-start: calc(var(--sonub-header-height, var(--bar-height)) + 4rem); }
.kids-guide .kids-story { display: grid; gap: 1.75rem; }
.kids-guide .kids-story > .kids-story-picture { max-inline-size: none; }
/* 본문 글은 읽는 폭(54ch)으로 두되 사진·도표와 같은 시작선에서 시작해 눈이 한 줄기로 내려가게 한다. */
.kids-guide .kids-story-copy { display: grid; gap: 1.3rem; inline-size: min(100%, 54ch); }
.kids-guide .kids-text { font-size: calc(1.12rem * var(--wa-font-size-scale, 1)); line-height: 1.9; word-break: keep-all; overflow-wrap: anywhere; }
.kids-guide .kids-goal { padding: 1rem 1.25rem; background: var(--wa-color-brand-fill-quiet); border-radius: var(--wa-border-radius-l); font-size: var(--wa-font-size-m); line-height: 1.8; }
.kids-guide .kids-goal strong { display: block; color: var(--wa-color-brand-on-quiet); margin-block-end: 0.3rem; }
.kids-guide .kids-goal > i { display: none; }
.kids-guide .kids-activities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.kids-guide .kids-box { padding: 1.4rem; gap: 1rem; border: 0; border-radius: var(--wa-border-radius-l); background: var(--wa-color-success-fill-quiet); }
.kids-guide .kids-box.kids-check { background: var(--wa-color-brand-fill-quiet); }
.kids-guide .kids-box-title { color: var(--sonub-ink); font-size: var(--wa-font-size-m); }
.kids-guide .kids-box .kids-text { font-size: var(--wa-font-size-m); line-height: 1.9; }
.kids-guide .kids-box details { inline-size: 100%; }
.kids-guide .kids-box details > summary { padding-block: 0.65rem; min-block-size: 2.75rem; line-height: 1.65; color: var(--sonub-accent-ink); }
.kids-guide .kids-box details[open] > p { padding-block-start: 0.8rem; border-block-start: 1px solid var(--wa-color-brand-border-normal); }
.kids-guide .kids-lesson-footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-block-start: 1px solid var(--sonub-border); padding-block-start: 1.5rem; }
.kids-guide .kids-lesson-footer > a:first-child { display: inline-flex; align-items: center; gap: 0.6rem; color: var(--sonub-muted); font-size: var(--wa-font-size-s); padding-block: 0.6rem; text-decoration: none; }
.kids-guide .kd-figure { padding: 1.5rem; border-color: var(--sonub-border); background: var(--wa-color-surface-lowered); border-radius: var(--wa-border-radius-l); gap: 1.25rem; }
.kids-guide .kd-figure > figcaption { color: var(--sonub-ink); font-size: var(--wa-font-size-m); line-height: 1.7; }
.kids-guide .kd-node { padding: 1rem; border-width: 1px; border-color: var(--sonub-border); gap: 0.6rem; }
.kids-guide .kd-node small { font-size: var(--wa-font-size-s); line-height: 1.7; }
.kids-guide .kids-example { padding: 1.5rem; gap: 1rem; background: var(--wa-color-brand-fill-quiet); }
.kids-guide .kids-panel { gap: 1rem; padding: 1.5rem; background: var(--sonub-surface); border-radius: var(--wa-border-radius-l); box-shadow: none; }
.kids-guide .kids-panel ul { gap: 0.9rem; }
.kids-guide .kids-panel li { line-height: 1.8; }
.kids-guide .kids-finish { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 2rem; padding: 0; border: 0; background: none; }
.kids-guide .kids-finish > div { display: grid; gap: 1.2rem; }
.kids-guide .kids-finish ul { display: grid; gap: 1rem; }
.kids-guide .kids-finish li { line-height: 1.8; }
.kids-guide .kids-gentle-tips { padding: 0; border: 0; background: none; }
.kids-guide .kids-gentle-tips ul { gap: 1rem; margin-block-start: 1.5rem; padding-inline-start: 0; }
.kids-guide .kids-gentle-tips li { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.3rem; border-radius: var(--wa-border-radius-l); background: var(--sonub-surface); line-height: 1.8; }
.kids-guide .kids-gentle-tips .sonub-icon-tile { flex: 0 0 auto; }
.kids-guide .guide-path h2 { margin-block-end: 1.5rem; }
.kids-guide .guide-step { grid-template-columns: auto minmax(0, 1fr) auto; padding: 1.25rem; }
.kids-guide .guide-step-desc { font-size: var(--wa-font-size-m); line-height: 1.8; }
.kids-guide .guide-others-grid { margin-block-start: 1.5rem; }
.kids-guide :is(a, button, summary):focus-visible { outline: 3px solid var(--sonub-accent); outline-offset: 4px; }
@container kids-reading (max-width: 42rem) {
	.kids-guide .guide-cover { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
	.kids-guide .guide-cover-intro { max-inline-size: 40ch; }
	.kids-guide .kids-finish,
	.kids-guide .kids-activities { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.kids-guide { padding-block-start: 0.5rem; gap: 2.25rem; }
}
@container kids-reading (max-width: 36rem) {
	.kids-guide .guide-cover h1 { font-size: calc(2rem * var(--wa-font-size-scale, 1)); }
	.kids-guide .guide-cover-copy { gap: 1rem; }
	.kids-guide .kids-welcome-note { padding: 1rem; font-size: var(--wa-font-size-s); }
	.kids-guide .kd-map { padding: 1rem; }
	.kids-guide .kd-map-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kids-guide .kids-lesson { padding: 1rem; gap: 1.5rem; }
	.kids-guide .kids-story { gap: 1.25rem; }
	.kids-guide .kids-activities { grid-template-columns: minmax(0, 1fr); }
	.kids-guide .kids-box { padding: 1.2rem; }
	.kids-guide .kids-support > :not(summary) { padding-inline: 1rem; }
	.kids-guide .kids-lesson-footer { flex-wrap: wrap; }
	.kids-guide .kd-figure { padding: 1rem; }
	.kids-guide .guide-step { grid-template-columns: auto minmax(0, 1fr); }
	.kids-guide .guide-step-go { grid-column: 2; justify-self: start; }
}
/* 화면 폭보다 실제 본문 폭을 기준으로 사진을 제목·목표 아래 크게 놓는다. */
@container kids-reading (max-width: 42rem) {
	.kids-guide .kids-chapter > .kids-chapter-summary { grid-template-columns: 2.5rem minmax(0, 1fr) 1rem; grid-template-rows: auto; grid-template-areas: 'num head tog' '. goal .' 'pic pic pic'; column-gap: 1rem; row-gap: 0.75rem; padding: 1rem; }
	.kids-guide .kids-chapter[open] > .kids-chapter-summary { grid-template-areas: 'num head tog'; }
	.kids-guide .kids-chapter-number { inline-size: 2.5rem; block-size: 2.5rem; font-size: var(--wa-font-size-m); }
	.kids-guide .kids-chapter-heading strong { font-size: var(--wa-font-size-m); }
	.kids-guide .kids-chapter-goal { font-size: var(--wa-font-size-s); }
	.kids-guide .kids-chapter-summary > .kids-story-picture { margin-block-start: 0.25rem; }
}
@media (prefers-reduced-motion: reduce) {
	.kids-guide .kids-chapter-toggle { transition: none; }
}
.kids-guide .kids-support > summary::after,
.kids-guide .kids-chapter-summary::after { display: none; }
.kids-guide .kd-map-stop { align-content: start; }
.kids-guide .kd-map-stop .kd-week-chip { align-self: start; justify-self: center; block-size: auto; }
.kids-guide .kd-map-stop > strong { min-block-size: 3.2em; }
.kids-guide .kd-map { background: var(--sonub-surface); }
.kids-guide h2[id] { scroll-margin-block-start: calc(var(--sonub-header-height, var(--bar-height)) + 4rem); }
.kids-guide .kd-map-lessons { display: grid; grid-template-columns: repeat(2, 2.75rem); }
.kids-guide .kd-map-stop { background: color-mix(in srgb, var(--kd-hue) 8%, var(--sonub-surface)); }

/* 좁은 비교표는 설명을 한 줄기 카드로 읽고, 사람·AI 결과를 바로 아래에서 비교한다. */
.kids-guide .kd-compare-label { display: none; }
.kids-guide .kd-numpad { grid-template-columns: repeat(auto-fit, minmax(min(100%, 3rem), 1fr)); inline-size: 100%; max-inline-size: 20rem; margin-inline: auto; }
.kids-guide .kd-num { min-inline-size: 0; padding: var(--wa-space-2xs); }
@container kids-reading (max-width: 42rem) {
	.kids-guide .kd-compare { display: block; }
	.kids-guide .kd-compare thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
	.kids-guide .kd-compare tbody { display: grid; gap: var(--wa-space-m); }
	.kids-guide .kd-compare tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wa-space-s); padding: var(--wa-space-m); border: 1px solid var(--sonub-border); border-radius: var(--wa-border-radius-l); background: var(--sonub-surface); }
	.kids-guide .kd-compare tbody th { grid-column: 1 / -1; padding: 0 0 var(--wa-space-xs); font-size: var(--wa-font-size-m); line-height: 1.7; }
	.kids-guide .kd-compare tbody td { display: grid; justify-items: center; align-content: start; gap: var(--wa-space-xs); min-inline-size: 0; padding: 0; background: transparent; }
	.kids-guide .kd-compare-label { display: block; color: var(--sonub-muted); font-size: var(--wa-font-size-s); overflow-wrap: anywhere; }
	.kids-guide .kd-compare .kd-mark { max-inline-size: 100%; padding-inline: var(--wa-space-xs); white-space: normal; overflow-wrap: anywhere; }
}

.kids-guide .kd-guess-layout > * { min-inline-size: 0; }
@container kids-reading (max-width: 22rem) {
	.kids-guide .kd-compare .kd-mark { flex-direction: column; gap: var(--wa-space-2xs); white-space: nowrap; }
	.kids-guide .kd-gflow .kd-node { padding-inline: var(--wa-space-xs); }
	.kids-guide .kd-gflow .kd-diamond > strong { max-inline-size: 72%; }
}

/* details 기본 패딩과 안쪽 단원의 패딩이 겹쳐 본문이 두 번 좁아지지 않게 한다. */
.kids-guide :is(.kids-chapter, .kids-support) { padding: 0; }
.kids-guide .kids-chapter > summary { margin: 0; box-sizing: border-box; }
.kids-guide .kids-support > summary { margin: 0; box-sizing: border-box; }

/* 움직임(webmovie, SSOT 23절 "어린이 가이드 움직임") — 연출은 Blade 의 data-webmovie, 시간·색만 여기서. 끝나면·JS 없음·움직임 줄이기는 위 모양 그대로 */
.kids-guide .kids-cover { --webmovie-cue-color: var(--wa-color-brand-fill-loud); }
.kids-guide .kids-cover-time { --webmovie-burst: var(--wa-color-warning-fill-loud), var(--wa-color-brand-fill-loud), #fff; }
.kids-guide .kd-map > .ig-svg { --webmovie-delay: 800ms; } /* 노선 선은 주차 칸이 다 착지한 뒤 그려진다 */
.kids-guide .kd-map-lessons { --webmovie-delay: 350ms; --webmovie-step: 70ms; }
.kids-guide .kd-map-lessons a { --webmovie-cue-color: var(--kd-hue); }
.kids-guide .kids-week-head .kd-week-chip { --webmovie-burst: var(--kd-hue), #fff, var(--kd-hue); }
.kids-guide .kids-chapter-number { --webmovie-burst: var(--kd-hue), #fff; }
.kids-guide .kd-day-bar { --webmovie-y: 0px; --webmovie-s: 0.2; }
.kids-guide .kd-loop-chip { --webmovie-burst: var(--kd-hue), #fff; }
.kids-guide .kd-light { --webmovie-cue-color: var(--light); }
.kids-guide .kids-finish .sonub-eyebrow { --webmovie-burst: var(--wa-color-warning-fill-loud), var(--wa-color-success-fill-loud), var(--wa-color-brand-fill-loud), #fff; }
.kids-guide .kids-finish li > span { --webmovie-cue-color: var(--wa-color-success-fill-loud); }

/* 표지 그림 무비 — 바탕판 3:2(원래 표지 사진과 같은 틀), 조각 자리는 그림 좌표 %(RTL 에서 뒤집지 않음) */
.kids-guide .kids-cover-frame { position: relative; overflow: hidden; border-radius: var(--wa-border-radius-xl); box-shadow: var(--wa-shadow-m); }
.kids-guide .kids-movie { --webmovie-ratio: 3 / 2; }
.kids-guide .kids-movie .webmovie-camera { --webmovie-focus: 72% 45%; } /* dolly: 노트북 화면에 다가간 데서 물러난다 */
.kids-guide .kids-movie-shape { --webmovie-burst: var(--shape), #fff, var(--shape); }
.kids-guide .kids-movie-shape.is-yellow { --shape: var(--wa-color-yellow-70); --x: 69.92%; --y: 37.12%; --w: 6.08%; }
.kids-guide .kids-movie-shape.is-teal { --shape: var(--wa-color-cyan-60); --x: 66.25%; --y: 43%; --w: 4.92%; }
.kids-guide .kids-movie-shape.is-purple { --shape: var(--wa-color-purple-50); --x: 70.25%; --y: 50.12%; --w: 3.42%; }
.kids-guide .kids-movie-shape.is-pink { --shape: var(--wa-color-pink-60); --x: 73.83%; --y: 47.38%; --w: 5.42%; }
.kids-guide .kids-movie-block.is-purple { --x: 86.08%; --y: 64.75%; --w: 4.5%; }
.kids-guide .kids-movie-block.is-green { --x: 77.58%; --y: 68.12%; --w: 6.92%; }
.kids-guide .kids-movie-block.is-cube { --x: 86.5%; --y: 70.5%; --w: 6.75%; }
/* [다시 보기] — 사진 위 어두운 알약(사진 색과 상관없이 읽히도록 고정색, /guide 의 같은 단추와 같다) */
.kids-guide .kids-movie-replay { position: absolute; inset-block-end: 0.75rem; inset-inline-end: 0.75rem; display: inline-flex; align-items: center; gap: 0.4rem; min-block-size: 2.5rem; padding: 0.3rem 0.85rem; border: 0; border-radius: 999px; background: rgb(20 18 30 / 0.72); color: #fff; font-size: var(--wa-font-size-s); font-weight: 700; cursor: pointer; }
.kids-guide .kids-movie-replay:hover { background: rgb(20 18 30 / 0.86); }
.kids-guide .kids-movie-replay:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }

/* 4주 지도 — 주차 칸 위에 주차 색 띠, 수업 번호는 주차 색으로 채운 역(누르는 영역 2.75rem). 누르면(가리키면) 커지고 그림자 */
.kids-guide .kd-map-stop { border-block-start: 6px solid var(--kd-hue); box-shadow: var(--wa-shadow-s); }
.kids-guide .kd-map-lessons { gap: 0.5rem; }
.kids-guide .kd-map-lessons a { inline-size: 2.75rem; block-size: 2.75rem; border: 3px solid var(--sonub-surface); background: var(--kd-strong); color: var(--kd-on-strong); font-size: var(--wa-font-size-m); box-shadow: 0 0 0 2px var(--kd-hue), var(--wa-shadow-s); transition: scale 160ms ease, box-shadow 160ms ease; }
.kids-guide .kd-map-lessons a:is(:hover, :focus-visible) { scale: 1.12; border-color: var(--sonub-surface); background: var(--kd-strong); color: var(--kd-on-strong); box-shadow: 0 0 0 3px var(--kd-hue), var(--wa-shadow-m); }
@media (prefers-reduced-motion: reduce) { .kids-guide .kd-map-lessons a { transition: none; } .kids-guide .kd-map-lessons a:is(:hover, :focus-visible) { scale: none; } }
