/* Shared lesson styling. Character geometry and motion are owned by existing files. */
:root{--lesson-honey-soft:#F4E7CC;--lesson-surface:#F7F1E2;--lesson-panel:radial-gradient(120% 90% at 50% 6%,var(--lesson-honey-soft),transparent 55%),var(--lesson-surface)}
body{-webkit-font-smoothing:antialiased}
#intro,#story-intro,#play,#bulk-scene{background:var(--lesson-panel);border-radius:20px;box-shadow:0 0 0 1px var(--line),var(--shadow)}
#intro h1{font:400 clamp(32px,4.2vw,44px)/1.13 var(--serif);letter-spacing:-.01em;text-wrap:balance;max-width:90%}
#intro .subtitle{font:clamp(17px,2vw,20px)/1.5 var(--sans);letter-spacing:0;color:var(--muted);margin-top:18px}
#story-intro p{font:400 clamp(28px,4.2vw,44px)/1.25 var(--serif);letter-spacing:-.01em;max-width:min(680px,88%);text-wrap:balance}
#intro .next,#play .next,#bulk-scene .next{font:600 15px/1.2 var(--sans);min-width:140px;background:var(--clay);color:#fff;border:0;border-radius:12px;padding:16px 26px}
#intro .next:hover,#play .next:hover,#bulk-scene .next:hover{filter:brightness(1.06)}
#intro .source,#play .source,#bulk-scene .source{font:13px/1.4 var(--sans);color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding:8px 0}
#intro .source:hover,#play .source:hover,#bulk-scene .source:hover{color:var(--clay);border-color:var(--clay)}
#play .controls,#bulk-scene .controls{padding-bottom:20px}
#play .bubble,.bulk-speech{font-family:var(--serif);font-size:clamp(18px,2.6vw,22px);line-height:1.3;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);padding:16px 20px}
#play .bubble::after,.bulk-speech::after{background:var(--surface);border-color:var(--line)}
#play .character figcaption,.bulk-actor>span,.bulk-client figcaption{font:12px/1.4 var(--sans);color:var(--muted)}
#play .character.speaking figcaption{font-weight:600;color:var(--ink)}
.bulk-actor>span{background:transparent}
.bulk-mail{border-color:var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}
.bulk-to,.bulk-subject,.bulk-chip,.bulk-address-source{font-family:var(--sans)}

@media(max-width:600px){#intro h1{font-size:32px}#play .bubble,.bulk-speech{font-size:19px;padding:14px 18px}}

@media(min-width:601px){.bulk-speech{transform:translateX(-35%)}.bulk-speech::after{left:35%}}

/* Delivery confirmation: consistent drawn check, independent of the system glyph. */
.bulk-delivery{position:relative;font-size:0;display:flex;align-items:center;justify-content:center;color:#4d8064}
.bulk-delivery:not(:empty)::before{content:'';display:block;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,#6b9d7c 13%,var(--surface));border:1px solid color-mix(in srgb,#6b9d7c 30%,var(--surface))}
.bulk-delivery:not(:empty)::after{content:'';position:absolute;left:50%;top:50%;width:8px;height:4px;border-left:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:translate(-50%,-65%) rotate(-45deg);border-radius:0 0 0 1px}

