/* SCENE2-3 : 생김새가 다른 자음자 찾기 */
    .scene23-panel {
      position: relative;
      overflow: hidden;
      min-height: 100%;
      background: url('../../assets/scene2-3_icecream_shop_bg.png') center center / cover no-repeat;
      isolation: isolate;
    }
    .scene23-panel::before,
    .scene23-panel::after {
      content: none;
    }
    .scene23-layer { position:absolute; inset:0; }
    .scene23-layer-bg { z-index:0; pointer-events:none; }
    .scene23-layer-bg::before,
    .scene23-layer-bg::after {
      content:none;
    }
    .scene23-layer-hud { z-index:12; pointer-events:none; }
    .scene23-title {
      position:absolute; top:1.6%; left:50%; transform:translateX(-50%);
      margin:0; padding:.2em .8em; white-space:nowrap;
      color:#fff; font-size:clamp(22px, 3vw, 46px); font-weight:1000;
      text-shadow:0 3px 0 #4d2da3, 0 6px 12px rgba(22,38,91,.28);
    }
    .scene23-stage-text {
      position:absolute; top:8.1%; left:50%; transform:translateX(-50%);
      padding:.35em 1em; border-radius:999px; background:rgba(255,255,255,.88);
      color:#5f43b8; font-size:clamp(14px,1.5vw,22px); font-weight:900;
      box-shadow:0 5px 14px rgba(64,71,120,.16);
    }
    .scene23-layer-balloons { z-index:8; top:11%; bottom:22.2%; overflow:hidden; pointer-events:auto; background:transparent; }
    .scene23-balloon-field { position:absolute; inset:0; overflow:hidden; background:transparent; }
    .scene23-balloon {
      position:absolute; left:0; top:0; border:0; padding:0; cursor:pointer; background:transparent;
      width:var(--balloon-size, 88px); height:calc(var(--balloon-size, 88px) * 1.58);
      color:white; font-family:inherit; display:block; touch-action:manipulation; user-select:none;
      transform:translate3d(var(--balloon-x,0), var(--balloon-y,0),0);
      will-change:transform; filter:drop-shadow(0 8px 11px rgba(43,49,99,.18));
    }
    .scene23-balloon::before, .scene23-balloon::after { content:none; }
    .scene23-balloon-asset {
      position:absolute; inset:0; width:100%; height:100%; object-fit:contain; pointer-events:none;
      filter:hue-rotate(var(--balloon-hue, 0deg)) saturate(1.08) brightness(1.02);
      transform-origin:center center;
    }
    .scene23-balloon-letter {
      position:absolute; left:50%; top:31%; transform:translate(-50%, -50%);
      z-index:2; font-size:calc(var(--balloon-size,88px) * .42); font-weight:1000; line-height:1;
      color:#ffffff; text-shadow:0 3px 0 rgba(49,35,102,.26), 0 0 10px rgba(0,0,0,.08);
      pointer-events:none;
    }
    .scene23-balloon.is-wrong { animation:scene23Wrong .42s ease; }
    .scene23-balloon.is-correct { animation:scene23Pop .48s ease forwards; pointer-events:none; }
    @keyframes scene23Wrong { 0%,100%{filter:drop-shadow(0 8px 11px rgba(43,49,99,.18))} 25%,75%{transform:translate3d(var(--balloon-x),var(--balloon-y),0) rotate(-7deg)} 50%{transform:translate3d(var(--balloon-x),var(--balloon-y),0) rotate(7deg);filter:drop-shadow(0 8px 11px rgba(43,49,99,.18)) saturate(.55)} }
    @keyframes scene23Pop { 0%{opacity:1;scale:1} 55%{opacity:1;scale:1.14} 100%{opacity:0;scale:.14} }
    .scene23-layer-status { z-index:14; top:auto; bottom:8.2%; height:18.8%; display:flex; align-items:center; gap:clamp(10px,1.2vw,18px); padding:0 3.2%; pointer-events:none; }
    .scene23-goal-card { flex:0 0 clamp(96px,10.5vw,156px); height:100%; min-height:112px; border-radius:22px; background:rgba(255,252,237,.95); border:4px solid #7c4bdb; box-shadow:0 8px 14px rgba(50,35,105,.2); display:grid; place-items:center; }
    .scene23-goal-letter { color:#6135bd; font-size:clamp(52px,6.7vw,102px); line-height:1; font-weight:1000; }
    .scene23-reward-track { flex:1; height:70%; min-width:0; border-radius:22px; background:rgba(255,252,237,.95); border:4px solid #7c4bdb; box-shadow:0 8px 14px rgba(50,35,105,.18); display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); align-items:center; gap:clamp(4px,.6vw,10px); padding:clamp(8px,.95vw,15px) clamp(12px,1.2vw,18px); box-sizing:border-box; overflow:hidden; }
    .scene23-ice-slot { display:grid; place-items:center; width:min(100%, clamp(36px,4.8vw,60px)); justify-self:center; aspect-ratio:1; border-radius:50%; border:2px dashed rgba(126,76,219,.5); min-width:0; box-sizing:border-box; }
    .scene23-ice-slot.is-earned { border-color:transparent; animation:scene23RewardIn .55s cubic-bezier(.2,.9,.3,1.3); }
    .scene23-ice-slot.is-earned::before { content:""; width:96%; height:96%; background:url('../../assets/scene2-3_icecream_reward.png') center/contain no-repeat; filter:drop-shadow(0 3px 3px rgba(88,45,39,.22)); }
    @keyframes scene23RewardIn { 0%{transform:scale(.1) rotate(-20deg)} 70%{transform:scale(1.13) rotate(7deg)} 100%{transform:scale(1)} }
    .scene23-layer-feedback { z-index:18; pointer-events:none; }
    .scene23-feedback { position:absolute; left:50%; top:49%; transform:translate(-50%,-50%) scale(.92); min-width:180px; max-width:64%; padding:.5em 1.2em; border-radius:999px; background:rgba(255,255,255,.94); color:#5635af; font-size:clamp(18px,2.2vw,34px); font-weight:1000; text-align:center; opacity:0; transition:.18s ease; box-shadow:0 8px 20px rgba(45,43,92,.22); }
    .scene23-feedback.show { opacity:1; transform:translate(-50%,-50%) scale(1); }
    .scene23-layer-audio { display:none; }
    .scene23-complete { position:absolute; inset:0; z-index:30; display:none; place-items:center; background:rgba(32,42,91,.45); }
    .scene23-complete.show { display:grid; }
    .scene23-complete-card { width:min(520px,78%); padding:clamp(22px,3vw,42px); border-radius:30px; background:#fffdf2; border:5px solid #7950d4; text-align:center; box-shadow:0 18px 46px rgba(35,31,81,.35); }
    .scene23-complete-card h3 { margin:0 0 .35em; color:#6440bb; font-size:clamp(28px,4vw,48px); }
    .scene23-complete-card p { margin:.25em 0 1em; color:#574d70; font-weight:800; }
    .scene23-complete-ices { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-bottom:18px; }
    .scene23-complete-ices span { aspect-ratio:1; background:url('../../assets/scene2-3_icecream_reward.png') center/contain no-repeat; }
    @media (max-width: 820px) {
      .scene23-layer-balloons { top:12%; bottom:25.4%; }
      .scene23-layer-status { bottom:9%; height:17%; padding:0 2%; gap:6px; }
      .scene23-goal-card { flex-basis:92px; min-height:96px; border-width:3px; }
      .scene23-reward-track { height:68%; border-width:3px; padding:6px 10px; gap:4px; }
      .scene23-ice-slot { border-width:1px; width:min(100%, 42px); }
    }
