/* Two kinds of speaking share one desk; the movie stays beside the words. */
.echo-desk{display:flex;flex-direction:column;gap:8px;height:100%;min-height:0}
.echo-mode-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:none;max-width:1320px;width:100%;margin:0 auto}
.echo-mode-nav button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:12px;padding:7px 16px;border:1px solid #decced;border-radius:14px;background:#faf7ff;color:#836b9a;font:inherit;cursor:pointer;touch-action:manipulation}
.echo-mode-nav b{font-size:18px}.echo-mode-nav span{font-size:13px}.echo-mode-nav .is-current{background:#eee0ff;border-color:#b194d6;color:#64408b;box-shadow:inset 0 -3px #c7abe7}
.echo-mode-nav button:focus-visible{outline:3px solid #2494c6;outline-offset:2px}
body.echo-focused .echo-desk #echo-studio,body.echo-focused .echo-desk #movie-echo-studio{flex:1;height:auto;min-height:0}
.me-studio{box-sizing:border-box;max-width:1320px;width:100%;height:100%;margin:auto;min-height:0;display:flex;flex-direction:column;gap:10px;padding:16px 22px;border:1px solid #e2d2ed;border-radius:25px;background:linear-gradient(130deg,#fff 45%,#fff8e9);color:#503762}
.me-studio *{box-sizing:border-box}
.me-studio button{font:inherit;font-size:16px;font-weight:750;min-height:48px;min-width:48px;padding:9px 16px;border:1px solid #d7c4eb;border-radius:14px;background:#fff;color:#5d4075;box-shadow:0 2px #e5d8ef;cursor:pointer;touch-action:manipulation}
.me-studio button:hover:not(:disabled){background:#f6edff}.me-studio button:disabled{opacity:.4;cursor:default;box-shadow:none}.me-studio button:focus-visible{outline:3px solid #2494c6;outline-offset:3px}
.me-studio .me-primary{background:#7751c8;border-color:#7751c8;color:white;box-shadow:0 3px #513388;font-size:18px;min-width:170px}
.me-studio .me-primary:hover:not(:disabled){background:#6844b4;color:white}
.me-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding-bottom:7px;border-bottom:1px solid #ece0f3}
.me-heading h2{font-size:22px;margin:2px 0;line-height:1.2}.me-heading small,.me-progress{font-size:13px;color:#9678a7}.me-eyebrow{display:block;font-size:10px;letter-spacing:.1em;font-weight:800;color:#a384b4}
.me-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;flex:none}
.me-steps li{display:flex;justify-content:center;align-items:center;gap:8px;font-size:14px;min-height:35px;padding:6px 10px;border:1px solid #e9dff1;border-radius:11px;background:#faf7fc;color:#aa94b6}
.me-steps b{border-radius:50%;width:22px;height:22px;display:grid;place-items:center;background:#fff;font-size:12px}.me-steps .is-current{background:#eee1ff;color:#694793;border-color:#cdb3e8}.me-steps .is-done{background:#eff8f2;color:#63977b}
.me-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(220px,.78fr) minmax(0,1.6fr);gap:22px;align-items:center}
.me-screen{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:10px}
.me-video{display:block;width:100%;max-height:30dvh;aspect-ratio:16/9;object-fit:contain;background:#291e37;border-radius:18px;border:1px solid #ddcee9}
.me-video-tools{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.me-video-tools button{font-size:13px;min-height:44px;padding:7px 12px}
.me-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:14px;border-radius:21px;background:linear-gradient(125deg,#f4ecff,#fff8e5);padding:22px;border:1px solid #e5d5f1}
.me-story h3{font-size:clamp(27px,2.7vw,36px);line-height:1.25;margin:0;color:#593c79;text-wrap:balance}
.me-story p{font-size:21px;line-height:1.35;color:#8b6748;word-break:keep-all;margin:10px 0 0}
.me-mission{font-size:17px;line-height:1.35;color:#997149;background:#fff2cf;padding:10px 14px;border-radius:12px;margin:0}
.me-line{display:flex;align-items:center;gap:15px;min-width:0}
.me-line-face{flex:none;width:82px;text-align:center;margin:0}.me-line-face img{width:76px;height:94px;object-fit:cover;object-position:center 25%;border:3px solid white;border-radius:19px;box-shadow:0 5px 15px #8b6f9b20}.me-line-face span,.me-line-face small,.me-line-face figcaption{display:block;font-size:11px;color:#89689d;font-weight:650;line-height:1.25;margin-top:3px}
.me-line-copy{flex:1;min-width:0}.me-line-copy h3{font-size:clamp(31px,3.4vw,44px);line-height:1.25;margin:0;color:#543777;letter-spacing:-.02em;text-wrap:balance}.me-line-copy p{font-size:22px;line-height:1.4;margin:10px 0 0;color:#896747;word-break:keep-all;overflow-wrap:break-word}
.me-line-copy .me-long{font-size:clamp(27px,2.8vw,35px)}
.me-subtitle-label{font-size:12px;color:#9c7faf;font-weight:700;margin:0 0 6px}
.me-status{font-size:14px;line-height:1.3;text-align:center;color:#9676a4;flex:none;margin:0;min-height:18px}.me-status:empty{display:none}
.me-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:none;border-top:1px solid #ebdff1;padding:9px 0 0}
.me-footer-note,.me-footnote{font-size:13px;text-align:center;color:#9379a1;line-height:1.35;flex:1}
.me-source{font-size:11px;line-height:1.35;color:#9d86ab;text-align:center}.me-guide,.me-story p.me-guide{font-size:15px;line-height:1.35;color:#8f739f;margin:0}.me-story p.me-guide{margin-top:14px;padding-top:12px;border-top:1px solid #e5d5e9}
.me-celebrate{display:flex;align-items:center;gap:18px}.me-celebrate figure{margin:0;text-align:center}.me-celebrate img{width:90px;height:110px;object-fit:cover;border:3px solid white;border-radius:24px}.me-celebrate figcaption{font-size:12px;color:#967aa7}.me-celebrate h3{font-size:32px;margin:0 0 12px;line-height:1.25}.me-celebrate .me-ko{font-size:22px;color:#896747;margin:0 0 12px}
.me-finish{align-items:center;justify-content:center;text-align:center;background:linear-gradient(120deg,#fff7d7,#f4e7ff 60%,#edf9f5)}.me-finish h2{font-size:44px;margin:0}.me-finish p{font-size:22px;margin:0}.me-finish small{font-size:13px;color:#9982a8}.me-stars{font-size:42px;color:#d4a246}.me-finish .me-face{width:100px;height:120px;object-fit:cover;border-radius:26px;border:4px solid white}
@media(min-width:740px) and (orientation:landscape) and (max-height:800px){
 .echo-desk{gap:6px}.echo-mode-nav button{min-height:44px;padding:5px 12px}.echo-mode-nav b{font-size:16px}.echo-mode-nav span{font-size:12px}
 .echo-desk .echo-studio{gap:5px;padding:8px 16px}.echo-desk .echo-stage{padding:8px 13px}.echo-desk .echo-instruction{font-size:12px;margin-bottom:5px}.echo-desk .echo-speech h3{font-size:34px;line-height:1.18}.echo-desk .echo-ko{font-size:20px;margin-top:6px}.echo-desk .echo-guide{font-size:12px;margin-top:6px}
 .me-studio{gap:7px;padding:10px 17px;border-radius:21px}.me-heading{padding-bottom:5px}.me-heading h2{font-size:18px}.me-eyebrow{display:none}.me-heading small,.me-progress{font-size:12px}.me-steps li{font-size:12px;min-height:30px;padding:4px 8px}.me-steps b{width:20px;height:20px;font-size:11px}
 .me-layout{grid-template-columns:minmax(210px,.73fr) minmax(0,1.65fr);gap:16px}.me-screen{gap:7px}.me-video{max-height:29dvh;border-radius:14px}.me-video-tools{gap:6px}.me-video-tools button{font-size:12px;min-height:44px;padding:7px 10px}
 .me-copy{gap:10px;padding:15px 18px;border-radius:18px}.me-story h3{font-size:29px;line-height:1.2}.me-story p{font-size:19px;line-height:1.3;margin-top:7px}.me-mission{font-size:15px;padding:7px 10px}.me-line{gap:12px}.me-line-face{width:64px}.me-line-face img{width:62px;height:76px;border-radius:16px}.me-line-face span,.me-line-face small{font-size:10px}.me-line-copy h3{font-size:33px;line-height:1.2}.me-line-copy h3.me-long{font-size:28px}.me-line-copy p{font-size:20px;line-height:1.3;margin-top:7px}
 .me-status{font-size:12px;min-height:16px}.me-footer{padding-top:6px;gap:10px}.me-footer button{min-height:46px;font-size:15px;padding:8px 12px}.me-footer .me-primary{font-size:16px;min-width:150px}.me-footer-note,.me-footnote{font-size:11px}.me-finish h2{font-size:36px}.me-finish p{font-size:20px}.me-finish .me-face{width:76px;height:90px}.me-guide,.me-story p.me-guide{font-size:13px}.me-story p.me-guide{padding-top:9px;margin-top:10px}.me-celebrate h3{font-size:28px}.me-celebrate .me-ko{font-size:20px}
}
@media(max-width:739px),(orientation:portrait){
 .echo-desk{height:auto}.echo-mode-nav button{flex-direction:column;gap:2px;min-height:52px;padding:5px}.echo-mode-nav b{font-size:15px}.echo-mode-nav span{font-size:11px}
 .me-studio{height:auto;padding:14px;gap:12px}.me-layout{grid-template-columns:1fr;gap:15px}.me-video{max-height:27dvh}.me-heading h2{font-size:19px}.me-copy{padding:15px}.me-story h3{font-size:26px}.me-story p{font-size:19px}.me-line-copy h3,.me-line-copy h3.me-long{font-size:28px}.me-line-copy p{font-size:20px}.me-line-face{width:60px}.me-line-face img{width:58px;height:72px}.me-footer{flex-wrap:wrap}.me-footer-note{order:3;flex:1 0 100%}.me-footer .me-primary{min-width:150px;font-size:15px}.me-steps li{font-size:12px;padding:5px}
}
@media(prefers-reduced-motion:reduce){.me-studio *{animation:none!important;transition:none!important}}
