/* 새 풀이 방식(카드 모으기·짝짓기·엉터리 찾기·분류)과 방 그림, 이야기 장면 */
.glow{box-shadow:0 0 0 5px rgba(100,190,255,.7);animation:gl 1.1s ease-in-out infinite}
@keyframes gl{0%,100%{box-shadow:0 0 0 4px rgba(100,190,255,.45)}50%{box-shadow:0 0 0 9px rgba(100,190,255,.85)}}
mark{background:#ffe48a;color:var(--ink);border-radius:8px;padding:0 8px;font-weight:800}

/* 방 머리글에 그림 */
.rhead{background-image:linear-gradient(95deg,var(--rc) 0%,color-mix(in srgb,var(--rc) 88%,transparent) 40%,transparent 80%),var(--rimg);background-size:cover;background-position:right center;min-height:218px}
.rhead::after{display:none}.rico{display:none}
.rhead p{text-shadow:0 1px 8px rgba(0,0,0,.25)}.rhead h2{text-shadow:0 2px 10px rgba(0,0,0,.25)}
.rhead p{max-width:820px}

/* 단서 카드 여러 장 */
.sents.mg{gap:9px}.sents.mg .sent{font-size:21.5px}.sent.sel .n .ico{width:24px;height:24px;stroke-width:3.2}

/* 짝짓기 */
.mt{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:2px}
.mcol{display:flex;flex-direction:column;gap:12px}.mcol .lbl{font-size:16px}
.mc{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;text-align:left;padding:16px 20px 16px 14px;border-radius:22px;background:#f6f0e3;border:3px solid transparent;font-size:21px;font-weight:700;line-height:1.45;min-height:112px;transition:.18s}
.mc .mb{width:42px;height:42px;border-radius:50%;background:#e3d7bd;display:grid;place-items:center;font-weight:800;font-size:19px;color:var(--ink2)}.mc .mb .ico{width:24px;height:24px;stroke-width:3.2}
.mc:hover{background:#fbf3df;transform:translateY(-2px)}
.mc.sel{background:#fff2b8;border-color:#e8b800}.mc.sel .mb{background:#e8b800;color:#fff}
.mc.done{pointer-events:none;color:#fff;border-color:transparent}.mc.done .mb{background:rgba(255,255,255,.3);color:#fff}
.mc.c0{background:#2f8a63}.mc.c1{background:#c4577a}.mc.c2{background:#4b5f96}
.mc.bad{background:var(--nol);border-color:var(--no);animation:shake .4s}

/* 엉터리 찾기 */
.fcs{display:flex;flex-direction:column;gap:14px}
.fcard{display:flex;flex-direction:column;gap:8px;text-align:left;padding:18px 24px;border-radius:24px;background:#f6f0e3;border:3px solid transparent;transition:.18s}
.fcard:hover{background:#fbf3df;transform:translateY(-3px)}
.fcard .fs{font-size:24px;font-weight:800;line-height:1.45}
.fcard .ft{font-size:22px;font-weight:600;line-height:1.45;color:#1b5f5d;background:#fff;border-radius:16px;padding:10px 16px}.fcard .ft small{display:block;font-size:14px;font-weight:800;color:var(--ink3);letter-spacing:.04em;margin-bottom:2px}
.fcard.bad{background:var(--nol);border-color:var(--no);animation:shake .4s;opacity:.8}.fcard.gone{opacity:.28;pointer-events:none}.fcard.good{background:var(--okl);border-color:var(--ok)}

/* 카드 분류 */
.sdots{display:flex;align-items:center;gap:8px;margin-top:-2px}.sdots i{width:34px;height:10px;border-radius:99px;background:#e3d7bd}.sdots i.dn{background:var(--ok)}.sdots i.on{background:#e8b800}.sdots span{margin-left:8px;font-size:18px;font-weight:800;color:var(--ink3)}
.sortc{background:linear-gradient(160deg,#fffaf0,#fff0c9);border:3px dashed #e3c15a;border-radius:30px;padding:30px 36px;min-height:158px;display:grid;place-items:center;text-align:center;animation:pop .35s both}
.sortc p{font-size:31px;font-weight:700;line-height:1.55}
.bins{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bin{height:96px;border-radius:26px;font-size:28px;font-weight:800;color:#fff;transition:.15s;box-shadow:0 8px 0 rgba(0,0,0,.18)}.bin:hover{filter:brightness(1.06);transform:translateY(-3px)}.bin:active{transform:translateY(4px);box-shadow:0 2px 0 rgba(0,0,0,.18)}
.bin.b0{background:linear-gradient(180deg,#4a8c8a,#1f7a78)}.bin.b1{background:linear-gradient(180deg,#e07a58,#c4472a)}

/* 방을 지날 때 이야기 장면 */
.box.beat{padding:0;flex-direction:row;width:1500px;max-height:760px;overflow:hidden}
.bimg{position:relative;width:640px;flex:none;background:var(--rc);overflow:hidden}
.bimg .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bimg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(20,30,40,.35))}
.bimg .bb{position:absolute;left:50%;bottom:20px;height:62%;width:auto;transform:translateX(-50%);z-index:2;animation:bob 2.2s ease-in-out infinite;filter:drop-shadow(0 18px 12px rgba(0,0,0,.35))}
.spk{position:absolute;z-index:3;width:22px;height:22px;background:#fff6b8;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:tw 1.6s ease-in-out infinite}
.spk.s1{left:16%;top:22%}.spk.s2{right:14%;top:34%;animation-delay:.5s;width:30px;height:30px}.spk.s3{left:26%;top:56%;animation-delay:1s}
@keyframes tw{0%,100%{transform:scale(.4) rotate(0);opacity:.4}50%{transform:scale(1.2) rotate(40deg);opacity:1}}
.btxt{flex:1;padding:54px 54px 44px;display:flex;flex-direction:column;gap:18px}
.btxt .chip{align-self:flex-start}.btxt h3{font-size:50px;line-height:1.25}.btxt p{font-size:27px;font-weight:600;line-height:1.7;color:var(--ink2)}.btxt .acts{margin-top:auto;justify-content:flex-end}
