.iwc{--sea:#1aa6b7;--sea-deep:#0e6e87;--sand:#f6d48a;--sand-deep:#e2b15a;--palm:#2f9e6b;--sunset:#ff6b35;--hibiscus:#e85d75;--ink:#14324a;height:100dvh;max-height:100dvh;color:var(--ink);display:flex;justify-content:center;position:relative;overflow:hidden;font-family:var(--font-fredoka),var(--font-montserrat),sans-serif}.iwc-beach{background:linear-gradient(180deg,#7ad7e6,#1aa6b7 42%,#f6d48a)}.iwc-market{background:linear-gradient(180deg,#ffb347,#ff8c42 38%,#2f9e6b)}.iwc-carnival{background:linear-gradient(180deg,#ff8a5b,#e85d75 40%,#5b2a86);color:#fffaf3}.iwc-scene-bits{inset:0;pointer-events:none;font-size:2rem;opacity:.28}.iwc-scene-bits,.iwc-scene-bits span,.iwc-waves{position:absolute}.iwc-waves{left:0;right:0;bottom:0;height:90px;pointer-events:none}.iwc-waves path{fill:rgba(255,255,255,.35)}.iwc-wave-back{animation:iwc-wave 7s ease-in-out infinite}.iwc-wave-front{animation:iwc-wave 5s ease-in-out infinite reverse}@keyframes iwc-wave{0%,to{transform:translateX(0)}50%{transform:translateX(-24px)}}.iwc-shell{width:min(640px,100%);height:100%;min-height:0;position:relative;z-index:1;display:flex;flex-direction:column;padding:.4rem .55rem .55rem;box-sizing:border-box}.iwc-top{display:flex;align-items:center;flex-wrap:nowrap;gap:.3rem;margin-bottom:.35rem;flex:0 0 auto}.iwc-top h1{margin:0;font-size:1.08rem;font-weight:700;line-height:1.15;flex:1;min-width:0}.iwc-choice,.iwc-icon-btn,.iwc-level-dot,.iwc-side-btn,.iwc-text-btn{border:3px solid rgba(20,50,74,.18);background:rgba(255,250,240,.92);color:var(--ink);border-radius:18px;font:inherit;font-weight:700;cursor:pointer}.iwc-carnival .iwc-cell,.iwc-carnival .iwc-choice,.iwc-carnival .iwc-helper,.iwc-carnival .iwc-icon-btn,.iwc-carnival .iwc-letter,.iwc-carnival .iwc-level-dot,.iwc-carnival .iwc-panel,.iwc-carnival .iwc-side-btn,.iwc-carnival .iwc-text-btn,.iwc-carnival .iwc-xp{color:var(--ink)}.iwc-icon-btn{min-width:48px;min-height:48px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem}.iwc-shells-pill{border-radius:999px;padding:.35rem .55rem;font-weight:700;font-size:1.05rem;white-space:nowrap}.iwc-shells-pill,.iwc-xp{background:rgba(255,250,240,.9);flex:0 0 auto}.iwc-xp{border-radius:16px;padding:.4rem .6rem .5rem;margin-bottom:.35rem}.iwc-xp-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:1.25rem;font-weight:700;line-height:1.2}.iwc-xp-row span:first-child{min-width:0}.iwc-xp-row span:last-child{flex:0 0 auto;white-space:nowrap}.iwc-xp-track{margin-top:.35rem;height:12px;border-radius:999px;background:rgba(20,50,74,.12);overflow:hidden}.iwc-xp-fill{height:100%;background:linear-gradient(90deg,var(--palm),var(--sea));border-radius:inherit}.iwc-xp-next{margin-top:.28rem;font-size:1.15rem;font-weight:700;line-height:1.3;color:var(--ink)}.iwc-badges{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.45rem}.iwc-badge{display:inline-flex;align-items:center;gap:.28rem;background:#fff;border-radius:999px;padding:.22rem .6rem;font-size:.95rem;font-weight:700;line-height:1.2;color:var(--ink);max-width:100%}.iwc-badge.off{background:rgba(20,50,74,.12);color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(20,50,74,.22)}.iwc-panel{background:rgba(255,250,240,.94);border-radius:24px;padding:.8rem .85rem .85rem;box-shadow:0 10px 30px rgba(14,60,80,.12)}.iwc-lead{font-size:1.6rem;margin:0 0 .25rem;line-height:1.2;font-weight:700}.iwc-read{font-size:1.25rem;margin:0 0 .55rem;line-height:1.35;font-weight:600}.iwc-choices{gap:.5rem}.iwc-choice,.iwc-choices{display:flex;flex-direction:column}.iwc-choice{text-align:left;min-height:88px;padding:.65rem .85rem;gap:.08rem}.iwc-choice strong{font-size:1.55rem;line-height:1.15}.iwc-choice span{font-size:1.2rem;line-height:1.25}.iwc-level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.iwc-level-dot{min-height:84px;font-size:1.35rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem}.iwc-level-dot:disabled{opacity:1;cursor:not-allowed;color:#1c3d56;background:rgba(255,250,240,.62);box-shadow:inset 0 0 0 1.5px rgba(20,50,74,.18)}.iwc-level-dot small{font-size:1.05rem}.iwc-play{display:flex;flex-direction:column;gap:.3rem;flex:1;min-height:0;overflow:hidden}.iwc-helper{display:flex;gap:.6rem;align-items:center;background:rgba(255,250,240,.92);border-radius:18px;padding:.3rem .5rem;flex:0 0 auto}.iwc-helper img{width:48px;height:48px;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;border-radius:14px;background:#fff;flex:0 0 auto}.iwc-helper p{margin:0;font-size:1.12rem;line-height:1.3}.iwc-helper strong{display:block}.iwc-grid-wrap{display:flex;justify-content:safe center;align-items:safe center;flex:1 1 0;min-height:0;overflow:auto}.iwc-grid{display:grid;gap:4px}.iwc-cell,.iwc-gap{width:clamp(32px,8vw,46px);height:clamp(32px,8vw,46px)}.iwc-easy .iwc-cell,.iwc-easy .iwc-gap{width:clamp(44px,13vw,60px);height:clamp(44px,13vw,60px)}.iwc-hard .iwc-cell,.iwc-hard .iwc-gap{width:clamp(28px,8vw,36px);height:clamp(28px,4.6dvh,36px)}.iwc-cell{background:rgba(255,250,240,.55);border:2px solid rgba(20,50,74,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.55rem;font-weight:700}.iwc-easy .iwc-cell{font-size:1.9rem}.iwc-cell.on{background:#fffaf0;border-color:var(--sand-deep);box-shadow:inset 0 -3px 0 var(--sand-deep)}.iwc-cell.hinted{color:var(--sea-deep)}.iwc .iwc-grid.iwc-fit .iwc-cell,.iwc .iwc-grid.iwc-fit .iwc-gap{width:var(--iwc-cell);height:var(--iwc-cell)}.iwc .iwc-grid.iwc-fit .iwc-cell{font-size:calc(var(--iwc-cell) * .64);border-radius:calc(var(--iwc-cell) * .22)}.iwc-status{min-height:2.4rem;text-align:center;font-size:1.15rem;font-weight:700;margin:0}.iwc-formed{min-height:1.7rem;letter-spacing:.14em;font-size:1.45rem}.iwc-formed,.iwc-pop{margin:0;text-align:center;font-weight:700;flex:0 0 auto}.iwc-pop{color:#0e6e3a;animation:iwc-pop .9s ease}@keyframes iwc-pop{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}.iwc-wheel-row{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"hint mix" "wheel wheel";align-items:center;gap:.35rem;margin-top:0;flex:0 0 auto}.iwc-wheel-row>.iwc-side-btn:first-of-type{grid-area:hint}.iwc-wheel-row>.iwc-side-btn:last-of-type{grid-area:mix}.iwc-side-btn{min-height:52px;min-width:64px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.35rem;font-size:1.05rem}.iwc-side-btn span{font-size:1.5rem}.iwc-wheel{grid-area:wheel;position:relative;width:min(78vw,260px,32dvh);aspect-ratio:1;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.55),rgba(14,110,135,.18) 70%);box-shadow:inset 0 0 0 8px rgba(255,250,240,.45);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;container-type:size}.iwc-easy .iwc-wheel{width:min(86vw,300px,32dvh)}.iwc-hard .iwc-wheel{width:min(72vw,230px,28dvh)}.iwc-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.iwc-svg line,.iwc-svg polyline{fill:none;stroke:#ff6b35;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.iwc-letter{position:absolute;width:20cqmin;height:20cqmin;margin-left:-10cqmin;margin-top:-10cqmin;border-radius:50%;background:#fffaf0;border:3px solid #e2b15a;display:flex;align-items:center;justify-content:center;font-size:9.6cqmin;font-weight:700;box-shadow:0 4px 0 #e2b15a;pointer-events:none}.iwc-easy .iwc-letter{width:26cqmin;height:26cqmin;margin-left:-13cqmin;margin-top:-13cqmin;font-size:12cqmin}.iwc-hard .iwc-letter{width:18cqmin;height:18cqmin;margin-left:-9cqmin;margin-top:-9cqmin;font-size:8.4cqmin}.iwc-letter.on{background:#ff6b35;color:white;border-color:#d3542c;transform:scale(1.06)}.iwc-letter.pulse{animation:iwc-pulse 1s ease-in-out infinite}@keyframes iwc-pulse{50%{box-shadow:0 0 0 8px rgba(255,107,53,.35)}}.iwc-finger{position:absolute;width:42px;height:42px;margin-left:-8px;font-size:2rem;pointer-events:none;z-index:2;animation:iwc-trace 3.2s ease-in-out infinite}@keyframes iwc-trace{0%,12%{left:var(--x0);top:var(--y0);opacity:0}22%{opacity:1}48%{left:var(--x1);top:var(--y1);opacity:1}74%{left:var(--x2);top:var(--y2);opacity:1}to{left:var(--x2);top:var(--y2);opacity:0}}.iwc-tutorial{background:rgba(255,250,240,.96);border-radius:18px;padding:.4rem .65rem .5rem;flex:0 0 auto}.iwc-tutorial p{margin:.1rem 0;font-size:1.12rem;line-height:1.3;font-weight:600}.iwc-text-btn{min-height:52px;padding:.4rem .9rem;margin-top:.45rem;font-size:1.15rem}.iwc-tutorial .iwc-text-btn{min-height:48px;margin-top:.25rem}.iwc-overlay{position:fixed;inset:0;z-index:20;background:rgba(14,50,70,.45);display:flex;align-items:flex-end;justify-content:center;padding:.8rem}.iwc-complete{width:min(520px,100%);background:#fffaf0;color:var(--ink);border-radius:28px;padding:1rem 1rem 1.2rem;text-align:center;max-height:min(92dvh,760px);overflow:auto}.iwc-complete img{width:120px;height:120px;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;border-radius:24px}.iwc-complete h2{margin:.4rem 0 .2rem;font-size:1.85rem}.iwc-complete p{font-size:1.12rem;line-height:1.35}.iwc-shells{font-size:2rem;margin:.2rem 0}.iwc-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.7rem}.iwc-actions .iwc-text-btn{margin-top:0}@media (prefers-reduced-motion:reduce){.iwc-finger,.iwc-letter.pulse,.iwc-pop,.iwc-wave-back,.iwc-wave-front{animation:none}.iwc-finger{opacity:1;left:var(--x0);top:var(--y0)}}@media (max-height:760px){.iwc-screen-play .iwc-badges,.iwc-screen-play .iwc-xp-next{display:none}}@media (min-width:800px){.iwc-shell{padding:.8rem .9rem 1rem}.iwc-top h1{font-size:1.5rem}.iwc-xp-row{font-size:1.4rem}.iwc-xp-next{font-size:1.25rem}.iwc-badge{font-size:1.05rem}.iwc-lead{font-size:1.85rem}.iwc-read{font-size:1.4rem}.iwc-wheel-row{grid-template-columns:88px minmax(0,1fr) 88px;grid-template-areas:"hint wheel mix"}.iwc-side-btn{min-height:72px;flex-direction:column}}