/* Beginner meaning cues. All representational artwork is a licensed icon or supplied raster. */
:root{--muted:#6b5b77}.semantic-visual{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:230px;max-width:100%;height:184px;flex-shrink:0;vertical-align:middle;overflow:hidden;border-radius:18px;background:#fff}.semantic-icon{display:block;width:110px;height:110px;max-width:64%;object-fit:contain;flex-shrink:1}.scene-panel{display:block;position:absolute;inset:0;background-image:url('assets/jindo-interactions.png');background-size:400% 400%;background-position:var(--scene-x) var(--scene-y);background-repeat:no-repeat}.visual-scene,.visual-intro,.visual-request,.visual-okay,.visual-interruption,.visual-language-help{width:224px;height:224px}.scene-detail{position:absolute;right:0;bottom:0;border-radius:12px;border:2px solid #e4d4ef;background:white;width:64px;height:64px}.scene-detail img{width:100%;height:100%;max-width:100%}.tofu-crop{display:block;width:100%;height:100%;background-image:url('assets/food.webp');background-size:220%;background-position:0 18%;background-repeat:no-repeat}.visual-tofu{width:185px;height:174px}.neutral-mark{font-size:50px;line-height:1;color:#78558d}.travel-mark{font-size:42px;line-height:1;color:#786089}.language-label{position:absolute;bottom:3px;left:12%;right:12%;font-size:18px;font-weight:750;padding:3px 6px;background:#fff;border:1px solid #e8daf1;border-radius:6px;color:#573868}.name-badge{position:absolute;left:16%;top:46%;background:white;border:1px solid #81768d;border-radius:3px;font-size:16px;font-weight:750;padding:1px 5px}.blank-name{width:68px;height:68px;display:flex;align-items:center;justify-content:center;margin-left:-24px;margin-top:52px;background:white;border-radius:10px}.blank-name img{width:100%;height:100%;max-width:100%}.menu-diagram{position:relative;display:flex;align-items:center;justify-content:center;width:130px;height:130px}.menu-diagram>.semantic-icon{width:100%;height:100%;max-width:100%}.menu-diagram>.menu-food{position:absolute;width:62px;height:62px;right:1px;top:29px;background:white;border-radius:8px}.language-diagram{position:relative;display:flex;align-items:center;justify-content:center;width:140px;height:125px}.language-diagram .semantic-icon{width:100%;height:100%;max-width:100%}.language-diagram b{position:absolute;top:24%;left:19%;font-size:29px}.calendar-diagram{display:flex;gap:8px;align-items:center}.calendar-days{display:flex;gap:4px}.calendar-days i{display:block;width:18px;height:24px;border:1px solid #a38ab7;border-radius:4px}.calendar-days .today{background:#b991d9;border:3px solid #714c93}.price-mark{font-size:22px}.ending-diagram{font-size:36px;color:#70468e;border-bottom:4px solid #d9c2eb;padding:6px}.letter-grid{display:grid;place-items:center;width:100px;height:110px;border:1px solid #e0d1ec;border-radius:10px;background:linear-gradient(90deg,transparent calc(50% - .5px),#f0e7f6 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),#f0e7f6 50%,transparent calc(50% + .5px));font-size:64px;color:#654585}.hangul-diagram{display:flex;align-items:center;justify-content:center;gap:10px;font-size:38px}.syllable-parts{display:grid;grid-template-columns:1fr 1fr;border:2px solid #d5bee7;border-radius:12px;overflow:hidden;font-size:39px;line-height:1.15;min-width:95px;min-height:95px}.syllable-parts>span{padding:3px 6px;display:grid;place-items:center}.syllable-parts .consonant{background:#f1e7fb;color:#6b4193}.syllable-parts .vowel{background:#e9f4ff;color:#326796}.syllable-parts .final-consonant{grid-column:1 / -1;background:#fcf0d2;color:#83641f;font-size:30px}.syllable-parts.horizontal{grid-template-columns:1fr}.syllable-parts.mixed{grid-template-columns:1fr 1fr}.diagram-equals{font-size:25px;color:#a184b7}.assembled{font-size:64px;color:#624184}.distance-diagram{display:flex;align-items:center;flex-direction:column;width:100%;gap:10px}.reference-speaker{align-self:flex-start;width:48px;height:48px}.reference-speaker img{width:100%;height:100%;max-width:100%}.distance-track{display:flex;width:100%;gap:9px;position:relative;border-top:2px dashed #c9b7d8;padding-top:5px}.distance-stop{flex:1;border:2px solid transparent;padding:3px;border-radius:9px}.distance-stop img{width:100%;height:auto;max-width:100%}.distance-stop.referenced{border:3px solid #9665bd;background:#f6ecff}.goodbye-diagram{display:flex;align-items:center;width:100%;gap:4px}.goodbye-person{position:relative;width:70px;flex-shrink:1}.goodbye-person img{width:100%;max-width:100%;height:auto}.goodbye-diagram>.semantic-icon{width:65px;height:90px;max-width:30%}.speaker-mark{position:absolute;top:-27px;left:8px;font-size:26px}.reply-visual{width:130px;height:125px;margin:6px auto}.reply-visual .semantic-icon{width:75px;height:75px}.guide-reply{display:flex;flex-direction:column;align-items:center;width:100%;padding-top:8px;border-top:1px solid #efe7f5}.guide-reply>span[lang]{font-size:23px}.choice{display:flex;align-items:center;gap:14px;font-size:16px}.choice>span:last-child{overflow-wrap:anywhere}.choice-visual{width:115px;height:110px;flex:0 0 115px}.choice-visual .semantic-icon{width:76px;height:76px}.choice-visual .neutral-mark{font-size:30px}.choice-visual .name-badge{font-size:10px;padding:0 2px}.choice-visual .language-label{font-size:11px;left:0;right:0}.choice-visual .scene-detail{width:35px;height:35px}.choice-visual .letter-grid{width:62px;height:68px;font-size:43px}.choice-visual .travel-mark{font-size:24px}.choice-visual .blank-name{width:39px;height:39px;margin-left:-25px;margin-top:40px}.choice-visual .menu-diagram{width:88px;height:88px}.choice-visual .menu-food{width:41px;height:41px;top:19px}.choice-visual .language-diagram{width:97px;height:90px}.choice-visual .language-diagram b{font-size:22px}.choice-visual .goodbye-person{width:34px}.choice-visual .speaker-mark{font-size:16px;top:-18px;left:2px}.choice-visual .goodbye-diagram>.semantic-icon{width:34px;height:57px}.choice-visual .calendar-days{gap:2px}.choice-visual .calendar-days i{width:10px;height:15px}.choice-visual .price-mark{font-size:14px}.choice-visual .reference-speaker{width:26px;height:26px}.choice-visual .distance-track{gap:3px}.choice-visual .distance-stop{padding:1px}.choice-visual .ending-diagram{font-size:27px}.picture-choices .choice{min-height:135px;justify-content:center;padding:9px 4px}.picture-choices .choice-visual{max-width:100%;width:100%;flex-basis:auto;height:104px}.sound-choices .choice{font-size:24px;text-align:left}.sound-choices .choice>span[lang]{flex:1}.tile-visual{align-self:center;width:130px;height:123px}.tile-visual .semantic-icon{width:77px;height:77px}.tile-visual .hangul-diagram{transform:scale(.64);flex-shrink:0}.tile-visual .letter-grid{width:73px;height:76px;font-size:47px}.tile-visual .name-badge{font-size:11px}.tile-visual .language-label{font-size:12px}.tile-visual .scene-detail{width:40px;height:40px}.bank-tile{gap:6px}.bank-tile>span[lang]{font-size:22px}.bank-tile small{font-size:14px}.bank-tag{font-size:12px}.done-word{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.done-word .semantic-visual{width:100px;height:92px}.done-word .semantic-icon{width:65px;height:65px}.done-word .hangul-diagram{transform:scale(.6)}.feedback .semantic-visual{width:90px;height:90px}.feedback .semantic-icon{width:58px;height:58px}.feedback .hangul-diagram{transform:scale(.52)}.feedback .name-badge{font-size:9px}.feedback .scene-detail{width:30px;height:30px}.placement-entry h2{font-size:23px}.placement-entry .entry-hint{margin-top:6px}.placement-entry>.text-btn{margin-top:10px}.placement-progress{display:flex;gap:6px;margin:18px 0}.placement-progress span{flex:1;height:7px;border-radius:5px;background:#efe5f7}.placement-progress .on{background:#aa82ce}.placement-prompt{min-height:140px}.placement-prompt>.primary{max-width:320px;margin:0 auto 10px}.placement-prompt .audio-note{margin-bottom:0;min-height:24px}.placement-choices{gap:12px}.placement-skip{display:flex;flex-direction:column;align-items:center;gap:2px}.placement-skip .text-btn{min-height:44px}.placement-result h1 small,main>h1 small{font-size:18px;font-weight:500;display:block;line-height:1.5;letter-spacing:0;color:var(--muted);margin-top:12px}.level-override{border:1px solid #e5d6ef;border-radius:18px;padding:16px;margin-top:25px}.level-override legend{padding:0 6px;color:#745287;font-size:14px}.level-override .secondary{font-size:15px}.level-override button[aria-pressed=true]{border-color:#9162b8;background:#f2e6fd}.placement-result .sample-note{margin-top:20px}.guide-controls button>span{font-size:14px;white-space:normal}.visual-steps small,.visual-steps small[lang=en]{font-size:14px}.guide-help,.guide-meaning,.visual-start p,.audio-fallback p,.audio-note,.practice-tip,.sample-note,.resource-note,.intro,.bubble,.lesson small,.bank-filter button,.bank-pagination button,.text-btn{font-size:14px}.guide-status{font-size:15px}.app-nav small{font-size:12px}.eyebrow{font-size:12px}.primary,.secondary{font-size:16px}.bank-dialogue{display:flex;flex-direction:column;align-items:center}.collection-note{font-size:14px}.lesson b{font-size:18px}.lesson small{display:block}.resources>p:not(.eyebrow){font-size:16px}.session,.session .text-btn{font-size:13px}.guide-controls{background:#fffefef5}.visual-start .primary{font-size:23px}footer{font-size:13px}footer a{color:#73479a}footer details+details{margin-top:12px}.guided-card>.semantic-visual{margin:0 auto}.guided-card{padding-top:10px}.guided-card .korean{font-size:clamp(27px,6vw,44px);letter-spacing:-.5px}.korean{overflow-wrap:anywhere;max-width:100%;letter-spacing:-.5px}.guide-reply>span[lang]{overflow-wrap:anywhere}.lesson>span:nth-child(2){min-width:0}.lesson .arrow{display:none}
@media(max-width:440px){.shell{padding:0 18px}.semantic-visual{max-width:100%}.choice{gap:9px;padding:10px}.choice-visual{width:96px;height:96px;flex-basis:96px}.picture-choices .choice-visual{width:100%;height:88px}.picture-choices .choice{min-height:113px}.picture-choices .choice .semantic-icon{width:72px;height:72px}.picture-choices{gap:8px}.guide-controls{gap:6px}.guide-controls button>span{font-size:12px}.sound-choices .choice{font-size:20px}.lesson{gap:9px;padding:10px}.lesson-art{width:64px;height:64px}.lesson b{font-size:17px}.visual-steps small,.visual-steps small[lang=en]{font-size:12px}.visual-steps li{padding:8px 1px}.tile-visual{width:115px;height:110px}.bank-grid{gap:8px}.bank-tile{padding:12px 9px}.bank-tile>span[lang]{font-size:20px}.bank-tag{font-size:12px}.placement-result .buddy-large img{width:95px;height:95px}.placement-result .buddy-large .bubble{font-size:14px;padding:13px}.picture-path>span{font-size:28px}.placement-prompt{padding:20px 12px}.topline>span{font-size:14px}.brand-sub{font-size:12px}.pill{font-size:12px}.buddy-row .bubble{font-size:14px}.placement-entry .primary{font-size:23px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}

.choice.selected{border-color:#9363b8;background:#f4e9ff;opacity:1}.placement-result .secondary{min-height:48px}.placement-choices .choice:disabled{opacity:.65}.placement-choices .choice.selected:disabled{opacity:1}

.request-object{display:flex;justify-content:center;align-items:center;border:2px solid #e2d1ef;border-radius:14px;padding:7px;max-width:52%;height:100px}.request-object>.semantic-icon{max-width:100%;width:80px;height:80px}.choice-visual .request-object{height:62px;padding:4px}.choice-visual .request-object>.semantic-icon{height:50px;width:50px}.visual-request-object>.semantic-icon{max-width:40%}

.placement-level-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.placement-level-card{min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;border:2px solid #e5d8ef;border-bottom:4px solid #dbc6eb;border-radius:19px;background:#fff;padding:12px 8px;color:#604477}.placement-level-card.recommended{border-color:#9463bc;background:#f7efff}.placement-level-card b{font-size:16px;word-break:keep-all;line-height:1.5}.placement-level-card small{font-size:12px;color:#715086;min-height:30px;padding:5px}.placement-level-card .recommend-badge{border-radius:15px;background:#8651b8;color:white;font-weight:700}.level-card-label{font-size:15px;font-weight:700}.level-override h2{font-size:21px}.level-override>p{font-size:14px;color:var(--muted)}.placement-level-card .tile-visual{background:transparent}.placement-level-card:hover{border-color:#9463bc}.placement-level-card:active{transform:translateY(2px)}

.syllable-parts.mixed{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.syllable-parts.mixed>.consonant{grid-column:1;grid-row:1}.syllable-parts.mixed>.mixed-right{grid-column:2;grid-row:1 / 3}.syllable-parts.mixed>.mixed-below{grid-column:1;grid-row:2}.syllable-parts.mixed>.final-consonant{grid-column:1 / -1;grid-row:3}

/* The original user-supplied PNG is displayed without altering its bytes. */
header #brand{flex-direction:row;align-items:center;gap:10px}.brand-words{display:flex;flex-direction:column}.wordmark{font-size:17px;letter-spacing:.3px}.brand-sub{font-size:12px;letter-spacing:4px}.brand-animal{position:relative;display:block;width:40px;height:53px;overflow:hidden}.brand-animal img,.animal-actor img{position:absolute;display:block;width:173.65%;height:138.42%;max-width:none;left:-45.44%;top:-24.68%;object-fit:fill}.animal-actor{position:relative;display:inline-block;flex:0 1 86px;width:86px;height:114px;overflow:hidden;vertical-align:middle}.choice-visual .animal-actor{width:49px;height:65px;flex-basis:49px}.reference-speaker .animal-actor{width:27px;height:36px}.distance-stop .animal-actor{width:28px;height:37px}.tile-visual .animal-actor{width:50px;height:66px;flex-basis:50px}.visual-name .blank-name{z-index:1}.scene-speaker{position:absolute;top:6%;width:38px;height:38px;z-index:1}.scene-speaker img{width:100%;height:100%;max-width:100%}.speaker-staying{left:14%}.speaker-leaving{right:13%}.choice-visual .scene-speaker{width:23px;height:23px}.visual-goodbye{width:224px;height:224px}.scene-detail{display:flex;align-items:center;justify-content:center;font-size:32px;color:#775393}.scene-detail.reassurance{right:3%;bottom:28%;background:#fff8;border:0;width:40px;height:40px}.person-word-label{font-size:24px;line-height:1.2;color:#5d426f;text-align:left}.person-word-label small{font-size:14px}.choice-visual .person-word-label{font-size:15px}.choice-visual .person-word-label small{font-size:10px}.visual-person-word{gap:4px}.buddy-row>img{object-fit:contain}.buddy-large>img{width:144px;height:152px}.buddy-row:not(.buddy-large)>img{width:94px;height:99px}
/* Position the text badge on the self-introduction animal's supplied blank badge. */
.visual-intro .name-badge{left:34%;top:59%;font-size:13px;line-height:1.15;padding:0 2px}.choice-visual.visual-intro .name-badge,.tile-visual.visual-intro .name-badge{font-size:8px;padding:0 1px}.feedback .visual-intro .name-badge{font-size:7px;padding:0 1px}
/* Reused approved scene images: CSS crops only the art region, never the captions. */
.visual-lesson-scene{display:block;width:100%;height:auto;max-width:620px;border-radius:14px;background:#fff4df;overflow:hidden}.lesson-scene-window{display:block;width:100%;height:auto;background-image:var(--lesson-image);background-size:var(--lesson-size);background-position:var(--lesson-position);background-repeat:no-repeat}.guided-card:has(.visual-lesson-scene){padding:12px 12px 20px}.guided-card .visual-lesson-scene{margin-bottom:12px}.context-choices,.picture-choices.context-choices{grid-template-columns:1fr;gap:14px}.context-choices .choice{display:flex;flex-direction:column;align-items:stretch;gap:9px;padding:10px;text-align:center;min-height:0}.context-choices .choice-visual{width:100%;max-width:100%;height:auto;flex-basis:auto;flex-shrink:0}.context-choices .choice>span:last-child{font-size:17px}.context-choices .answer-mark{font-size:28px;right:14px;top:9px;padding:0 5px;background:white;border-radius:6px}.unit-lesson-thumb{width:138px;max-width:32%;height:auto;flex-shrink:0;align-self:center}.unit-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.unit-resource-card{min-width:0;padding:14px;border:2px solid #e7d9f1;border-radius:20px;background:#fffcf8}.unit-resource-card h3{font-size:22px;line-height:1.4;word-break:keep-all;margin:15px 0 7px}.unit-resource-card p{font-size:16px;color:#685773;margin-bottom:8px}.unit-resource-card>small{display:block;font-size:13px;color:#75637f;line-height:1.6}.unit-resource-card .primary{margin-top:12px}.unit-resource-card .watch-lesson{font-size:14px;padding:10px 6px}.unit-video-links>.text-btn{display:block;text-align:center}.video-pending{font-size:14px!important;color:#75637f!important;text-align:center;border:1px dashed #d7c4e6;border-radius:12px;padding:12px;margin:14px 0 0}.new-unit-resources{margin-top:30px}.new-unit-resources h2{line-height:1.4}.resource-scene{border-radius:10px}.done-word .visual-lesson-scene{width:100%;height:auto}.feedback .visual-lesson-scene{width:100%;height:auto}.feedback .visual-lesson-scene .lesson-scene-window{min-height:0}.lesson:has(.unit-lesson-thumb){align-items:center}.guide-meaning:has(+.visual-lesson-scene){max-width:100%}@media(max-width:520px){.unit-resource-grid{grid-template-columns:1fr}.unit-resource-card{padding:15px}.unit-resource-card h3{font-size:23px}.unit-lesson-thumb{width:108px;max-width:29%}.context-choices .choice{padding:7px}.context-choices .choice>span:last-child{font-size:16px}.new-unit-resources h2{font-size:22px}}
