.ConnectTheDots-module__dJtgQq__wrapper{width:100%;padding-bottom:var(--safe-bottom);flex-direction:column;align-items:center;gap:.9rem;display:flex}.ConnectTheDots-module__dJtgQq__config{flex-direction:column;gap:.6rem;width:min(420px,100%);display:flex}.ConnectTheDots-module__dJtgQq__meta{color:var(--color-text-disabled);letter-spacing:.04em;text-transform:uppercase;text-align:center;margin:0;font-size:.74rem;font-weight:500}.ConnectTheDots-module__dJtgQq__status{color:var(--color-text-primary);text-align:center;min-height:1.5em;margin:0;font-size:1.02rem;font-weight:700}.ConnectTheDots-module__dJtgQq__status[data-done=true]{color:var(--color-accent)}.ConnectTheDots-module__dJtgQq__stage{aspect-ratio:1;background:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);touch-action:none;width:min(440px,94vw);position:relative}.ConnectTheDots-module__dJtgQq__svgLayer{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ConnectTheDots-module__dJtgQq__line{stroke:var(--color-accent);stroke-width:2.6px;stroke-linecap:round;fill:none;stroke-dasharray:1;stroke-dashoffset:1px;animation:.22s forwards ConnectTheDots-module__dJtgQq__drawIn}.ConnectTheDots-module__dJtgQq__closeLine{animation-delay:.12s}.ConnectTheDots-module__dJtgQq__revealFill{fill:var(--color-accent);opacity:0;animation:.6s .12s forwards ConnectTheDots-module__dJtgQq__fadeReveal}@keyframes ConnectTheDots-module__dJtgQq__drawIn{to{stroke-dashoffset:0}}@keyframes ConnectTheDots-module__dJtgQq__fadeReveal{to{opacity:.16}}.ConnectTheDots-module__dJtgQq__dot{border:2px solid var(--color-border-subtle);background:var(--color-surface);width:clamp(1.75rem,7vw,2.75rem);min-width:0;height:clamp(1.75rem,7vw,2.75rem);color:var(--color-text-secondary);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:clamp(.62rem,3vw,.92rem);font-weight:800;line-height:1;transition:background .15s,border-color .15s,color .15s;animation:.26s cubic-bezier(.2,.7,.2,1) both ConnectTheDots-module__dJtgQq__dotEnter;display:flex;position:absolute;transform:translate(-50%,-50%)}.ConnectTheDots-module__dJtgQq__dot[data-state=done]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.ConnectTheDots-module__dJtgQq__dot:disabled{cursor:default}.ConnectTheDots-module__dJtgQq__dot[data-wrong=true]{border-color:var(--color-error);color:var(--color-error);animation:.4s ConnectTheDots-module__dJtgQq__shake}@keyframes ConnectTheDots-module__dJtgQq__dotEnter{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes ConnectTheDots-module__dJtgQq__shake{10%,90%{transform:translate(-50%,-50%)translate(-2px)}20%,80%{transform:translate(-50%,-50%)translate(3px)}30%,50%,70%{transform:translate(-50%,-50%)translate(-5px)}40%,60%{transform:translate(-50%,-50%)translate(5px)}}.ConnectTheDots-module__dJtgQq__actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.ConnectTheDots-module__dJtgQq__primaryBtn{background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-md);cursor:pointer;min-height:var(--tap-min);border:none;padding:.65rem 1.3rem;font-size:.92rem;font-weight:700}.ConnectTheDots-module__dJtgQq__primaryBtn:hover{background:var(--color-accent-hover)}.ConnectTheDots-module__dJtgQq__ghostBtn{border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;min-height:var(--tap-min);background:0 0;padding:.65rem 1.1rem;font-size:.88rem;font-weight:600}.ConnectTheDots-module__dJtgQq__ghostBtn:hover{border-color:var(--color-accent);color:var(--color-accent)}.ConnectTheDots-module__dJtgQq__stats{color:var(--color-text-disabled);text-align:center;margin:0;font-size:.8rem}@media (prefers-reduced-motion:reduce){.ConnectTheDots-module__dJtgQq__line{stroke-dashoffset:0;animation:none}.ConnectTheDots-module__dJtgQq__revealFill{opacity:.16;animation:none}.ConnectTheDots-module__dJtgQq__dot{animation:none}.ConnectTheDots-module__dJtgQq__dot[data-wrong=true]{background:color-mix(in srgb, var(--color-error) 22%, var(--color-surface));animation:none}}
