.loop-game{flex-direction:column;align-items:center;gap:14px;width:100%;padding-top:8px;display:flex}.loop-statbar{gap:26px;display:flex}.loop-stat{flex-direction:column;align-items:center;line-height:1;display:flex}.loop-stat-value{font-family:var(--font-mono);color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.loop-stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-top:3px;font-size:10px;font-weight:600}.loop-board{grid-template-columns:repeat(var(--loop-size,5), 1fr);background:var(--bg-secondary);box-sizing:border-box;border-radius:12px;gap:4px;width:100%;max-width:min(92vw,320px);padding:8px;display:grid}.loop-tile{aspect-ratio:1;border:1px solid var(--border-primary);border-radius:var(--hub-classic-radius,6px);background:var(--bg-card);cursor:pointer;justify-content:center;align-items:center;min-width:44px;padding:0;transition:transform .12s,background .12s;display:flex}.loop-tile:active:not(:disabled){transform:scale(.93)}.loop-tile:focus-visible{outline:2px solid var(--mix-accent-loop);outline-offset:2px}.loop-pipe{transform-origin:50%;width:84%;height:84%;animation:.2s ease-out loop-spin;display:block}@keyframes loop-spin{0%{transform:rotate(-90deg)}to{transform:rotate(0)}}.loop-arm{stroke:var(--mix-accent-loop);stroke-width:14px;stroke-linecap:round}.loop-hub{fill:var(--mix-accent-loop)}.loop-tile--solved{background:color-mix(in srgb, var(--mix-accent-loop) 16%, var(--bg-card))}.loop-board--solved .loop-tile{animation:.5s loop-pulse}@keyframes loop-pulse{0%{transform:scale(1)}45%{transform:scale(1.08)}to{transform:scale(1)}}.loop-board--solved .loop-pipe{animation:.6s loop-glow}@keyframes loop-glow{0%,to{filter:none}50%{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--mix-accent-loop) 75%, transparent))}}@media (prefers-reduced-motion:reduce){.loop-pipe,.loop-board--solved .loop-tile,.loop-board--solved .loop-pipe{animation:none}}.loop-hint{color:var(--text-muted);text-align:center;max-width:min(92vw,320px);margin:0;font-size:12px}.loop-controls{gap:10px;width:100%;max-width:min(92vw,320px);display:flex}.loop-btn{flex:1 1 0}.loop-result{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:min(92vw,320px);display:flex}.loop-result-line{color:var(--text-primary);margin:0;font-size:15px;font-weight:700}.loop-full-btn{width:100%}
