/* Word Connect: kotak silang di kiri, lingkaran huruf di kanan */
.rt-wrap { flex: 1; min-height: 0; display: flex; padding: clamp(4px, 1vw, 12px); background: #1e1b4b; }
.wc-stage { position: relative; flex: 1; min-height: 0; border-radius: 16px; overflow: hidden; border: 3px solid #fff; background: linear-gradient(180deg, #ede9fe, #fce7f3); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.wc-left { display: flex; flex-direction: column; gap: 5px; padding: clamp(5px, 1vw, 10px); min-width: 0; min-height: 0; }
.rt-hud { display: flex; flex-wrap: wrap; gap: 5px; font-weight: 800; font-size: clamp(11px, 1.45vw, 16px); }
.rt-hud span { background: rgba(15,23,42,.78); color: #fff; border-radius: 999px; padding: 1px 10px; white-space: nowrap; }
.wc-gridbox { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; }
.wc-grid { display: grid; gap: 3px; }
.wc-c { width: var(--cs, 40px); height: var(--cs, 40px); border-radius: 8px; background: #7c3aed; color: transparent; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: calc(var(--cs, 40px) * .62); text-transform: uppercase; box-shadow: inset 0 -3px 0 rgba(0,0,0,.2); }
.wc-c.e { background: transparent; box-shadow: none; }
.wc-c.on { background: #fff; color: #5b21b6; border: 3px solid #a78bfa; animation: wc-pop .35s; }
.wc-c.hint { background: #fde68a; color: #92400e; border: 3px solid #f59e0b; }
@keyframes wc-pop { 0% { transform: scale(.4); } 70% { transform: scale(1.15); } 100% { transform: scale(1); } }
.wc-right { display: flex; flex-direction: column; align-items: center; gap: clamp(3px, 1vh, 8px); padding: clamp(5px, 1vw, 10px); background: rgba(255,255,255,.7); border-left: 3px solid #fff; min-width: 0; min-height: 0; }
.wc-cur { min-height: clamp(30px, 6vh, 46px); display: flex; gap: 4px; align-items: center; justify-content: center; flex-wrap: wrap; }
.wc-cur b { background: #7c3aed; color: #fff; border-radius: 8px; padding: 0 8px; font-size: clamp(16px, 3.4vh, 28px); text-transform: uppercase; line-height: 1.4; }
.wc-cur.bad b { background: #dc2626; animation: wc-shake .4s; }
.wc-cur.good b { background: #16a34a; }
@keyframes wc-shake { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-6px); } 75% { transform: translateX(6px); } }
.rt-fb { margin: 0; min-height: 1.3em; text-align: center; font-weight: 800; font-size: clamp(11px, 1.5vw, 16px); }
.rt-fb.ok { color: #15803d; } .rt-fb.bad { color: #dc2626; }
.wc-wheel { position: relative; flex: 1 1 auto; min-height: 0; aspect-ratio: 1; max-height: 100%; width: auto; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px #c4b5fd, inset 0 0 20px rgba(124,58,237,.15); touch-action: none; user-select: none; -webkit-user-select: none; }
.wc-line { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.wc-line polyline { fill: none; stroke: #8b5cf6; stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; opacity: .55; }
.wc-l { position: absolute; width: 20%; height: 20%; margin: -10% 0 0 -10%; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: clamp(18px, 5.6vh, 44px); text-transform: uppercase; color: #3b0764; background: #ede9fe; pointer-events: none; }
.wc-l.sel { background: #7c3aed; color: #fff; }
.rt-btn { min-height: clamp(34px, 6vh, 46px); padding: 0 14px; border: 0; border-radius: 999px; background: #7c3aed; color: #fff; font: inherit; font-weight: 900; font-size: clamp(13px, 1.8vw, 20px); cursor: pointer; box-shadow: 0 3px 0 rgba(15,23,42,.3); }
.rt-btn.alt { background: #fff; color: #5b21b6; border: 2px solid #7c3aed; box-shadow: none; font-size: clamp(11px, 1.4vw, 15px); font-weight: 800; }
.rt-btn:disabled { opacity: .45; }
.rt-row { display: flex; gap: 6px; }
.wc-done { position: absolute; inset: 0; background: rgba(30,27,75,.6); display: flex; align-items: center; justify-content: center; z-index: 5; }
.wc-done[hidden] { display: none; }
.wc-card { background: #fff; border-radius: 16px; padding: 14px 20px; text-align: center; max-width: 80%; }
.wc-card h2 { margin: 0 0 4px; } .wc-card p { margin: 0 0 10px; font-weight: 700; }
.rt-recap { text-align: left; max-height: 30vh; overflow-y: auto; font-size: clamp(11px, 1.4vw, 15px); font-weight: 600; margin: 4px 0 8px; }
@media (max-height: 520px) { .rt-wrap { padding: 3px 6px; } .wc-stage { border-width: 2px; border-radius: 12px; } .wc-right { gap: 2px; padding: 3px 8px; } .wc-c { border-radius: 6px; } .wc-c.on, .wc-c.hint { border-width: 2px; } }
@media (max-width: 640px) and (orientation: portrait) { .wc-stage { grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr) minmax(0, 1.2fr); } .wc-right { border-left: 0; border-top: 3px solid #fff; } }
